影者东升 发表于 2021-8-14 18:29:57

配置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

第二步:修改frp服务端配置文件
既然反向代理到了8080端口,那么frp服务端的配置文件也需要进行设置
frps.ini配置文件中vhost_http_port = 8080端口

第三步:修改frp客户端配置文件
第一步配置中:server_name xiaoyue.ml www.xiaoyue.ml; 这里填写对应域名。
也支持泛解析,例如:server_name *.xiaoyue.ml;需要域名同时进行泛解析才行。
那么frpc.ini怎么修改呢,很简单
对应穿透服务配置里配置好对应域名,custom_domains = xiaoyue.ml

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

补充一下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端口而已。
那这样做有什么意义呢,就是想直接通过域名访问,而不是通过域名:端口号访问网站。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://www.1314yq.com/server/296.html

文档来源:服务器之家http://www.zzvips.com/article/41618.html
页: [1]
查看完整版本: 配置nginx保证frps服务器与web共用80端口的方法