Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

关于网站设置非标准 HTTPS 端口的需求 #5982

Open
Linux-K-Git opened this issue Jul 30, 2024 · 10 comments
Open

关于网站设置非标准 HTTPS 端口的需求 #5982

Linux-K-Git opened this issue Jul 30, 2024 · 10 comments

Comments

@Linux-K-Git
Copy link

Linux-K-Git commented Jul 30, 2024

联系方式

No response

1Panel 版本

v1.10.13-lts

OpenResty 版本

V1.21.4.3-3-3-focal

问题描述

ERR_SSL_PROTOCOL_ERROR

搭建任意反向代理网站时,用域名访问时会显示该错误,过程是将本地容器端口反向代理至域名网站,相同步骤在半年前的版本中一切正常(即使是面板和网站都升级到最新也是正常的),而新设备部署最新面板,就会出现该错误

本机curl 127.0.0.1:xxxx 回显正常、容器映射正常、返回信息正常,同一局域网下访问IP+端口也正常,只有域名+端口并且在开启HTTPS部署证书后出现该错误,而不启用HTTPS时就正常(仅浏览器提示不安全,HTTP这理所应当),根据报错已经尝试排除TLS版本等问题均无关,更换证书也报错,重载、重启、OpenResty应用均错误,证书本身确定没有问题,在其他如Apache上部署正常,访问正常,可信签发机构均正常,DNS解析也正确,没有污染,证书为新签发,不存在可能的历史遗留问题

综上所述,基本确定是OpenResty 1.21.4.3-3-3-focal 该版本部署HTTPS时存在的问题,然而检查配置信息后未发现明显错误,或许是新版本的兼容问题?

证书信息

状态 已签发
证书类型 TrustAsia C1 DV Free
所属项目 默认项目
签名算法 RSA-SHA384
加密算法 RSA
加密位数 2048
购买时间 2024-07-30
签发时间 2024-07-30
过期时间 2024-10-29 07:59:59续期
服务年限 共 90 天
来源 腾讯云 (免费证书)
备注 未命名

重现步骤

新设备部署最新面板v1.10.13-lts,安装配置OpenResty网站并开启HTTPS,就会出现该错误,反向代理指向127.0.0.1:xxxx时,直接访问域名+端口报错ERR_SSL_PROTOCOL_ERROR

期待的正确结果

将网站HTTPS部署问题修复

相关日志输出

日志无任何输出,访问时日志未记录任何信息

附加信息

No response

@Linux-K-Git
Copy link
Author

Linux-K-Git commented Jul 30, 2024

QQ20240731-010235
QQ20240731-012347
QQ20240731-012511

@zhengkunwang223
Copy link
Member

把 waf 关了试试

@wan92hen
Copy link
Contributor

看下你的网站配置文件。
在不使用默认端口的情况下,网站配置的域名+端口默认会分给 HTTP 端口的,HTTPS 端口默认还是会用 443 端口

server {
    listen 5555 ; 
    listen 443 ssl http2 ; 
    server_name test.1panel.local; 
    # .......
}

可以手动修改下配置文件

server {
    listen 80 ; 
    listen 5555 ssl http2 ; 
    server_name test.1panel.local; 
    # .......
}

@Linux-K-Git
Copy link
Author

QQ20240801-101044
事实上,哪怕我选择禁用80只使用443和8888端口监听,或者全部都监听,仍然报错,错误内容依旧是HTTPS ERR_SSL_PROTOCOL_ERROR 同时也并没有开启waf或者防盗链之类的东西

@Linux-K-Git
Copy link
Author

Linux-K-Git commented Aug 1, 2024

同样在网站设置中,
如果是允许HTTP,则HTTP访问正常,HTTPS报错同上;
如果是自动跳转HTTPS,则HTTP访问超时,跳转失效,直接访问HTTPS报错同上;
如果是禁止HTTP访问,则只能直接访问HTTPS而报错同上;

@Linux-K-Git
Copy link
Author

OK,我大概发现问题的原因了,应该是上层路由或者运营商防火墙阻拦了80和443端口的访问,刚刚尝试重建OpenResty并更改默认HTTP/S的端口(并且保证其不在浏览器不允许的端口范围内)这时候证书绑定才能成功,HTTPS的安全性标识才能正常。感谢开发者对问题的关注,建议将此问题加入疑难解答,以帮助网络环境复杂的用户排查问题

@zhengkunwang223
Copy link
Member

感谢建议 确实有一些用户有非标准 HTTPS 端口的需求
V2 版本计划这么做:
1.网站支持设置统一的 HTTPS 端口 例如 9443 那么开启网站 HTTPS 默认把这个端口监听改为 ssl
2.添加网站 如果是仅有一个 域名:端口,那么就自动把这个端口设置为 HTTPS 端口

@wanghe-fit2cloud wanghe-fit2cloud changed the title [BUG] OpenResty 1.21.4.3-3-3-focal HTTPS ERR_SSL_PROTOCOL_ERROR [BUG] 关于网站设置非标准 HTTPS 端口的需求 Aug 2, 2024
@wanghe-fit2cloud wanghe-fit2cloud changed the title [BUG] 关于网站设置非标准 HTTPS 端口的需求 关于网站设置非标准 HTTPS 端口的需求 Aug 2, 2024
@wanghe-fit2cloud wanghe-fit2cloud added this to the v2.x 产品 Backlog milestone Aug 12, 2024
@vocaloidat
Copy link

vocaloidat commented Oct 4, 2024

我也发现这个问题了。
微信截图_20241005033012

@engun
Copy link

engun commented Dec 21, 2024

默认情况下,1panel 开启https,端口会单独设置,所以

  1. 打开网站的配置文件,查看listen端口
  2. 防火墙放开该端口

@wanghe-fit2cloud
Copy link
Member

Bot detected the issue body's language is not English, translate it automatically. 👯👭🏻🧑‍🤝‍🧑👫🧑🏿‍🤝‍🧑🏻👩🏾‍🤝‍👨🏿👬🏿


By default, 1panel turns on https, and the port will be set separately, so

  1. Open the website’s configuration file and check the listen port
  2. The firewall opens the port

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants