为了实现宝塔面板和frp共存,并且frp不和宝塔面板的80/443端口冲突,利用反向代理的方式。
HTTP 80端口下的反向代理能成功访问,而HTTPS直接就报了502错误。实在是没办法了,才来求助,望请各位高手大神解困,谢谢!有偿,不会让您白忙活!您的付出本就应该得到回报!
具体配置如下:
公网服务器:
HTTP的反向代理
frp服务端设置:http tcp端口设置808(默认是80,但和宝塔面板冲突,所以改了808)
宝塔面板(选择的是一键Nginx):网站----站点(PHP版本选择了纯静态,其他都是默认)----设置----反向代理:127.0.0.1:808(带http开头,其余的都是默认,未有任何改动)
站点域名:自己的域名(默认80端口) ps:发帖提示不能发URL
安全---端口放行:808 状态正常
内网服务器:
frp客户端设置:本地IP:127.0.0.1
本地端口:80
服务器http端口:808
宝塔面板(选择的是一键Nginx):网站----站点(PHP版本5.6,其他都是默认),也已经安装好了网站程序。
站点域名:自己的域名(默认80端口)
在浏览器输入:自己的域名 访问成功,网站内容显示正常!
思路是:访问者在浏览器HTTP请求,宝塔面板80端口响应访问者的HTTP请求,通过反向代理到frp服务端的808端口,然后frp服务端与frp客户端建立通信,frp客户端把frp服务端808端口的HTTP请求再转到内网服务器的宝塔面板80端口,实现访问,也不冲突宝塔面板的80端口。
-------------------------------------------------------------------------------
而在相同的配置下,HTTPS的访问就出现了502错误。
HTTPS的反向代理
公网服务器:
frp服务端设置:https tcp端口设置909(默认是443,但和宝塔面板冲突,所以改了909)
宝塔面板(选择的是一键Nginx):网站----站点(PHP版本选择了纯静态,其他都是默认)----设置----反向代理:127.0.0.1:909(在http后面加了一个s,其余的都是默认,未有任何改动) SSL证书已经开启(Let's Encrypt的免费证书)。
站点域名:自己的域名(默认80端口)
安全---端口放行:909 状态正常
内网服务器:
frp客户端设置:本地IP:127.0.0.1
本地端口:443
服务器https端口:909
宝塔面板:网站----站点(PHP版本5.6,其他都是默认),也已经安装好了网站程序,SSL证书已经开启(Let's Encrypt的免费证书)。
站点域名:自己的域名(默认80端口)
在浏览器输入: HTTPS开头+自己的域名 就出现了502 Bad Gateway 而浏览器中网址行旁边有小锁的标志,点击查看证书也是开启的证书了。
宝塔面板访问错误的日志内容如下(error.log):
请问,宝塔面板是不支持HTTPS的反向代理吗?还是在下哪里没有设置好?一直不知道哪里出了问题,明明HTTP下就能成功,但HTTPS却屡屡失败。
|
|