配置nginx保证frps服务器与web共用80端口的方法

首先你会有个疑惑,frp是什么呢?简单的说frp就是内网穿透工具,配置好客户端以后,可以通过服务器来访问内网。

现在我的服务器,已经用nginx 做站了,80端口只有一个,那如果frp的服务端也想使用80端口,那应该怎么办呢?

经过查询,这个是可以实现的,就是利用nginx的反向代理来实现。

补充一下:frps就是服务器端(server),frpc就是客户端(client)。

第一步:修改服务器中nginx.conf配置文件

在nginx.conf中http{ }里添加以下参数,

server {

  listen 80;

  server_name xiaoyue.ml www.xiaoyue.ml;

  location / {

   proxy_pass http://127.0.0.1:8080;

   proxy_redirect http://$host/ http://$http_host/;

   proxy_set_header X-Real-IP $remote_addr;

   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

   proxy_set_header Host $host;

  }

}

如下图,设置好后保存,重启nginx

配置nginx保证frps服务器与web共用80端口的方法

第二步:修改frp服务端配置文件

既然反向代理到了8080端口,那么frp服务端的配置文件也需要进行设置

frps.ini配置文件中vhost_http_port = 8080端口

配置nginx保证frps服务器与web共用80端口的方法

第三步:修改frp客户端配置文件

第一步配置中:server_name xiaoyue.ml www.xiaoyue.ml; 这里填写对应域名。

也支持泛解析,例如:server_name *.xiaoyue.ml;需要域名同时进行泛解析才行。

那么frpc.ini怎么修改呢,很简单

对应穿透服务配置里配置好对应域名,custom_domains = xiaoyue.ml

配置nginx保证frps服务器与web共用80端口的方法

第四步:

服务器中重启frps,本地电脑中启动frpc,就可以在浏览器中通过80端口直接访问xiaoyue.ml了。

配置nginx保证frps服务器与web共用80端口的方法

补充一下1:

    xiaoyue.ml是解析到我的服务器中,而这个网站是搭建在局域网里面我自己的电脑中。

    也就是首先保证你电脑上访问127.0.0.1,是有内容的哦。

补充一下2:

    第一步的反向代理也可以这么做

    宝塔后台

    1)网站-->添加站点,输入你的域名

        比如输入添加的域名xiaoyue.ml 提交

    2)点击设置-->反向代理

        目标URL 中填写  http://127.0.0.1:8080 ,请勿输入错误

        选择 启用反向代理

PS:是不是看的有点懵。。。

其实本文核心就一步,那就是将比如你访问xiaoyue.ml(默认情况下,我们访问网站都是80端口),反向代理到xiaoyue.ml:8080端口而已。

那这样做有什么意义呢,就是想直接通过域名访问,而不是通过域名:端口号访问网站。

相关推荐