我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

在上一篇文章中,苏南大叔在一个已经安装了nginxcentos服务器上面,再次安装frp服务,导致两者端口冲突。主要体现在对80443端口的争夺中。然后后来者frp做出妥协,使用新的端口99809981。但是,这样的结局是,访问frpwww服务的时候,就必须带上端口9980的字样,这是个很不爽的issue

苏南大叔:centos服务器,nginx和frp如何共用80端口? - centos-nginx-frp
centos服务器,nginx和frp如何共用80端口?(图3-1)

本文,就是解决这个问题的,让80端口也能访问frp服务。

原理描述

nginxfrp共用80端口的原理,其实说起来也挺简单的。就是frp还是用非80端口,然后nginx做反向代理。也就是说,80端口访问的是nginxnginx再根据域名(或者说根据设置的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;
    }
}

苏南大叔:centos服务器,nginx和frp如何共用80端口? - nginx_proxy
centos服务器,nginx和frp如何共用80端口?(图3-2)

关于frp的端口补充说明

到现在为止,苏南大叔要在内网提供www服务的基本目的,基本上算是达到了。反过来看看frp的端口设置,一共需要开放的4个端口,实际上仅仅需要一个5443端口,用于frp的客户端连接,就可以了。其它的三个端口,完全可以禁止访问。

苏南大叔:centos服务器,nginx和frp如何共用80端口? - port
centos服务器,nginx和frp如何共用80端口?(图3-3)

结论

就仅仅是个nginx反代功能罢了,但是却解决了frp不能用80端口的问题。所以,nginx还是挺有潜力可挖的。更多苏南大叔代理的frpnginx的经验文章,请点击下面的连接查看:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   nginx    frp