美文网首页
nginx简单配置:反向代理&禁止通过IP地址访问

nginx简单配置:反向代理&禁止通过IP地址访问

作者: a_novelist | 来源:发表于2018-03-08 11:30 被阅读0次

    在网上勉强知道了nginx如何设置反向代理和禁止直接通过IP地址访问。

    前者的方法大致是:

    server {

            listen      80 default_server;

            location / {

                proxy_pass http://127.0.0.1:8080;

            }

     }

    后者的方法大致是:

    server  {  

           listen 80 default;  

           server_name _;  

           server_name www.example.com example.com 

           return 500;  

    可如果把这两个结合到一块,比如这样:

    server  {  

           listen 80 default;  

           server_name _;  

           server_name www.example.com example.com;

           location / {

                proxy_pass http://127.0.0.1:8080;

            }

           return 500;  

    } ,便会导致通过域名和IP地址都无法访问网站。

    简书上有一篇讲nginx禁止通过IP访问的文章说是,在原有的nginx.conf文件中增加一个server {...},我试过之后发现这样的配置不合法(nginx -t),nginx根本无法重启。

    无奈之下,想出了一个这样的办法:

    server {

            listen      80 default_server;

            listen      [::]:80 default_server;

            server_name  _;

            #将这两个域名解析到IP地址后,下面这行不需要写

            #server_name  www.example.com example.com;

            location / {

                proxy_pass http://127.0.0.1:8080;

            }

            if ($host = 'your server's IP address') {

                return 403;

            }

    }

    看着有点怪异,不过算是能满足我的要求了。

    另外,如果通过   域名+端口号(网站服务器监听的,比如8080)   或是 IP+端口号 仍然能访问到你的网站,可以去服务器提供商提供的管理页面上禁止外网对该端口的访问。

    相关文章

      网友评论

          本文标题:nginx简单配置:反向代理&禁止通过IP地址访问

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