我没有梦想,但是我能保护! 收藏本站
登陆 / 注册 搜索

阅读:5.9K   回复: 1

Nginx 禁止 IP 访问 80/443 端口

[复制链接]
小执念 古黑浩劫论坛大牛 2019-9-3 17:32 |显示全部楼层

可遇不可求的事:故乡的云,上古的玉,随手的诗,十九岁的你。

管理员
为什么要禁止 IP 访问呢? 如果你开启了 cdn, 但是不禁止 IP 访问, 会暴露站源 IP. 至于为什么会暴露, 可能需要另外写一篇文章才能解释.

一. 禁止 IP 访问 80 端口

禁止 IP 访问 80  很简单, nginx 配置文件 http 段里面添加下面这段代码即可:

👨‍🚒‎🛍🦯🥲🖕



  1. server
  2.     {
  3.         listen 80 default_server;
  4.         server_name _;
    💅🚤🥩🆗🐕‏
  5.         return 444;
  6.     }
复制代码



二. 禁止 IP访问 443 端口
🤝🚗🧊❓🐻‍
这个要一个 ssl 证书, 最好不是自己域名申请的证书. 可以用 openssl 自己签发一张.

执行命令:
  1. openssl genrsa -des3 -out none.key 1024
复制代码

✋🛑🍒🈳🦖‏

这里生成时候会要求必须输入 key 文件密码。因为以后要给 nginx 使用,每次 reload -s nginx 配置时候都要你验证这个文件密码.

这里为了避免麻烦, 可以取消这个密码:

👨🦱‎👗🪟😛🤳


  1. mv none.key x.key
  2. openssl rsa -in x.key -out none.key
  3. rm x.key
复制代码



👄🌕🍭🆘🐥‍得到证书 key 文件, 然后根据这个 key 文件生成证书请求文件.

执行命令:
  1. openssl req -new -key none.key -out none.csr
复制代码
👵‏👞✏🤐👂
输入你刚才的文件密码, 根据提示填写

Nginx 禁止 IP 访问 80/443 端口 TIM截图20190903170921.png

最后根据这 2 个文件(none.key none.csr)生成 crt 证书文件,执行命令:👦‏👔🖥😷🤌
  1. sudo openssl x509 -req -days 3650 -in none.csr -signkey none.key -out none.crt
复制代码

3650 是有效期, 使用到的文件是 none.key 和 none.crt 文件

nginx 配置 http 段里面添加
👎🚠🍽❗🦋‌
  1.   server
  2.   {
  3.     listen 443 default_server;
  4.     server_name _;
  5.     return 444;🥷‎👓🔒💩🖐
  6.     ssl_certificate /root/none.crt;
  7.     ssl_certificate_key /root/none.key;
  8.     ssl_session_cache shared:SSL:3m;
  9.     ssl_session_timeout 5m;
  10.     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    👆🏫🍏❓🐴‏
  11.     ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  12.     ssl_prefer_server_ciphers on;
  13.   }
复制代码


上一篇
下一篇
帖子热度 5927 ℃

左岸云烟 「出类拔萃」 2019-9-3 17:39 来自手机 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

酱油他妈说,你们不要再打酱油了……
您需要登录后才可以回帖 登录 | 免费注册  

本版积分规则

快速回复 返回列表