宝塔51特惠活动,企业版1099元/年,送SSL证书,最高立减2万元!查看活动
当前位置:论坛首页 > Linux面板 > 求助

【已回应】HTTPS反向代理报502错误(有偿)

发表在 Linux面板2020-3-15 09:14 [复制链接] 3 9219

为了实现宝塔面板和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):


HT.png


请问,宝塔面板是不支持HTTPS的反向代理吗?还是在下哪里没有设置好?一直不知道哪里出了问题,明明HTTP下就能成功,但HTTPS却屡屡失败。



使用道具 举报 只看该作者 回复
发表于 2020-3-15 10:43:49 | 显示全部楼层
您好,这种问题检查网络吧,502 是url请求资源 ,在服务器上网关通信失败
使用道具 举报 回复 支持 反对
发表于 2020-3-15 20:24:35 | 显示全部楼层
大炮运维V587 发表于 2020-3-15 10:43
您好,这种问题检查网络吧,502 是url请求资源 ,在服务器上网关通信失败

感谢管理的回复!

折腾的大半天,终于找到解决方法了,并不是您所说的在服务器上网关通信失败,在下知道,502是涉及到网关方面。

其实,原来是在下的Nginx没有设置好。在反向代理的时候,直接调用了https,才导致的502错误。

1、内部调用了https,这是宝塔面板和frp共存时,做https反向代理而产生502错误的主因,原来是不应该做https内部调用的,只需要http就可以了。

2、在下没有做301重定向http跳转到https。

3、没有向服务器传递域名信息。

最后,还是要感谢您的回复!!与此同时,在下也希望宝塔面板能加入与frp共存的便利功能。

尤其是如今的VPS,大容量硬盘的VPS都比较昂贵,尽管给的月流量是T级单位(实际上根本用不到这么多),对于一般普通的小站来说是比较难负担得起的,而如果用本地的服务器做frp,就可以增容,更有经济性,只走VPS的月流量。
使用道具 举报 回复 支持 反对
发表于 2021-4-26 10:43:42 | 显示全部楼层
遇到同样的问题了,请问“内部调用了https”怎么解决?
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析
快速回复 返回顶部 返回列表