Nginx反向搭理(绕过备案)

发布于 2021-04-03  721 次阅读


NAS端:

NAS默认是自带Nginx的,我们进入NAS后,打开控制面板—应用程序门户—反向代理服务器

添加规则:

协议:可以选择HTTP或HTTPS

主机名:输入想要代理的域名即可

端口:属于Nginx反向代理的端口

目的地:

协议:HTTP或HTTPS

主机名:默认为localhost也可以输入NAS的网卡IP

端口:为网站映射的端口或本身需要映射的端口(本人用的网站端口是180)

原理:本人NAS建立的网站是Docker容器的本机180端口,访问此网站时会先访问180端口,然后群辉内的Nginx反向搭理又把180端口转发到Docker的80端口,这样使得我们访问80端口时会经过Nginx反向代理的跳转从而可以访问域名80端口

以上操作完成后,我们就可以通过代理好的域名(主机名)来访问原本需要加180端口才能访问的网站啦

服务器端:

首先我们添加一个站点,域名可以设置我们想要反向代理的域名

然后打开网站设置,点击反向代理

目标URL:想要反向代理的IP+端口,比如:我这个网站建立用的是8090端口,所以如下图

发送域名:发送域名可以使用默认的$host(默认的站点域名),也可以输入想要反向代理出去的域名

上述操作完成后,我们打开网页浏览代理好的域名就可以了,这样子就完成了直接输入域名就可以访问本来需要加端口才能访问的网站

由于本人用的宝塔选择Nginx反向代理,以下是反向代理的配置,大家也可以根据百度进行反向代理设置:

#PROXY-START/
 location ~* \.(php|jsp|cgi|asp|aspx)$
{
       proxy_pass http://120.77.84.70:8090;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
}
location /
{
proxy_pass http://120.77.84.70:8090;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
proxy_ignore_headers Set-Cookie Cache-Control expires;
proxy_cache cache_one;
proxy_cache_key $host$uri$is_args$args;
proxy_cache_valid 200 304 301 302 1m;
expires 12h;
}
#PROXY-END/

本当の声を響かせてよ