美文网首页
nginx安全问题

nginx安全问题

作者: 六弦极品 | 来源:发表于2018-05-13 13:48 被阅读0次

    一、nginx 默认转发至现有虚拟主机
    nginx 在开启某些监听端口时,必须关闭默认端口转发(比如: 你nginx 开启一个虚拟主机 监听80 端口,域名为www.aaa.com,你没关闭默认端口转发,客户端在本地绑定www.baidu.com 指向你服务器外网IP,这是请求到的你服务器,nginx 很有可能会将请求到你的www.aaa.com这域名指向的root目录)

    1、环境及问题:
    一台nginx 做代理转发到后端两台 nginx server ,前端nginx server代理监听80 和443 端口,后端两台nginx server(Real service)都开启监听8000 端口,在前端 nginx server 代理层做白名单,默认关闭所有,只开放指定的IP,两台 Real service 上监听8000 不只是一个虚拟机主机,有多个基于域名的虚拟主机。real server1 配置好www.aaa.com 虚拟主机,但是real server2 没配置好www.aaa.com 虚拟主机,但是8000 端口有别的域名也监听,绑定hosts 访问代理时就出现一次正常,一次访问到别的虚拟主机的站点。

    问题分析:
    请求转发至real server2 后发现监控8000 端口的域名存在,nginx则选择默认转发至监听8000端口别的域名。

    问题解决:
    在 real server2 nginx 主配置文件关闭默认8000端口转发功能。

       server {
            listen       80 default;
            listen       443 default;
            listen       8000 default;
            listen       8443 default;
            server_name  _;
            return       444;
            access_log   off;
    
            ssl_certificate     .ssl/xxxxx.com.crt;
            ssl_certificate_key .ssl/xxxxx.com.key;
        }
    

    相关文章

      网友评论

          本文标题:nginx安全问题

          本文链接:https://www.haomeiwen.com/subject/twbcdftx.html