如果你愿意的话,让我带您去吧,这座小镇,愿望实现的地方⋯⋯ 收藏本站
登陆 / 注册 搜索

USERCENTER


查看:173   回复: 1

[# 网络安全] Nginx 禁止 IP 访问 80/443 端口

[复制链接]
发新帖
跳转到指定楼层
楼主
小执念古黑浩劫论坛大牛 发表于 2019-9-3 17:32:48 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

为什么要禁止 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
复制代码
输入你刚才的文件密码, 根据提示填写

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

最后根据这 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.   }
复制代码

左岸云烟「出类拔萃」 发表于 2019-9-3 17:39:07 来自手机 | 只看该作者
酱油他妈说,你们不要再打酱油了……
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

关于本站|小黑屋|Archiver|古黑论

GMT+8, 2019-10-18 15:11 , Processed in 0.034963 second(s), 23 queries , Gzip On, Redis On.

© 2015-2019 GuHei.Net

Powered by Discuz! X3.4

快速回复 返回列表