centos服务器,nginx和frp如何共用80端口?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
在上一篇文章中,苏南大叔在一个已经安装了nginx
的centos
服务器上面,再次安装frp
服务,导致两者端口冲突。主要体现在对80
和443
端口的争夺中。然后后来者frp
做出妥协,使用新的端口9980
和9981
。但是,这样的结局是,访问frp
的www
服务的时候,就必须带上端口9980
的字样,这是个很不爽的issue
。
本文,就是解决这个问题的,让80
端口也能访问frp服务。
原理描述
nginx
和frp
共用80
端口的原理,其实说起来也挺简单的。就是frp
还是用非80
端口,然后nginx
做反向代理。也就是说,80
端口访问的是nginx
,nginx
再根据域名(或者说根据设置的server_name
值),反向代理到frp
的非80
端口。
nginx
配置
nginx
配置如下,当然,这个过程中,根据您的基本情况,相关配置肯定还是有所改变的。所以,大家不要照抄下面的配置。搞清楚原理,再做修改。
server
{
listen 80;
server_name <your_domain>;
location / {
proxy_pass http://127.0.0.1:<your_frp_port>;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
}
关于frp
的端口补充说明
到现在为止,苏南大叔要在内网提供www
服务的基本目的,基本上算是达到了。反过来看看frp
的端口设置,一共需要开放的4
个端口,实际上仅仅需要一个5443
端口,用于frp
的客户端连接,就可以了。其它的三个端口,完全可以禁止访问。
结论
就仅仅是个nginx
反代功能罢了,但是却解决了frp
不能用80
端口的问题。所以,nginx
还是挺有潜力可挖的。更多苏南大叔代理的frp
和nginx
的经验文章,请点击下面的连接查看:
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。