背景: 腾讯云上有一个 taiga 服务,必须要通过 https 访问才能完全可用。但是,我将域名指向腾讯云的时候,提示要备案,厌恶至极。 既然域名不能用,所以,我想尝试一下用 openssl 自签 IP 地址的证书,然后用 Nginx Proxy Manager 做代理访问 taiga 。请注意,如果不挂证书,我已经能用 NPM 反代 taiga 了,但是不是 https 。
问题来了: 我参照网上的自签方式,给我的 IP 签证书,挂到 NPM ,但是浏览器访问,总是提示:ERR_SSL_UNRECOGNIZED_NAME_ALERT 。水平有限,解决不了。
酬谢: 请指点,有酬谢。
1
Jianrry 2 天前 via iPhone
有两种方案,你可以参考一下:
1. 使用 ip 证书,zerossl 提供付费 ip 证书。 2. 在另一台服务器使用 nginx 反向代理,指定腾讯云的 ip 地址和域名。 |
2
SUMIMASEI 2 天前
虽然可以通过自签证书和 IP 地址访问服务,但并不是一个长期解决方案。建议还是尽快完成域名备案。
|
3
superkkk 2 天前 via iPhone
1 用证书链签证书,客户端信任证书链
2 把服务器放到外国 3 有便宜的 ip 证书一年大概 100rmb |
4
flynaj 2 天前 via Android
ERR_SSL_UNRECOGNIZED_NAME_ALERT 这个错误就是自签不受信任,这个只能你自己用。
|
8
epiphyllum 2 天前
原因:
Nginx Proxy Manager 的锅,它只考虑了用域名的情况,用 IP 的话默认会被坑: 在"NPM"的 Github Repo 里面可以找到这样一行配置: https://github.com/NginxProxyManager/nginx-proxy-manager/blob/498109addb6f2541082b88cb6ae115939321873c/docker/rootfs/etc/nginx/conf.d/default.conf#L36 由于上述默认配置,用 https://your_ip/访问会被拒绝 TLS 连接。 这个问题和证书提供商没有关系。 解决办法: 方法 1:直接改容器内配置,把这一行注释掉 # 假设容器名称是 npm-app-1 docker exec npm-app-1 sh -c "sed -i 's/^[[:space:]]*listen 443 ssl;/#&/' /etc/nginx/conf.d/default.conf && grep 'listen 443 ssl;' /etc/nginx/conf.d/default.conf" 方法 2:修改 NginxProxyManager 的源代码,自行构建镜像。 效果如下图: |
9
ETiV 2 天前 via iPhone
找“函数计算”类似的功能,把函数开在同一个 VPC 内。然后用函数计算做内网的请求转发,转发这部分只用 http 就行
|
10
ddd270700 OP @epiphyllum
膜拜大佬,我验证一下,如果成功了,再来酬谢。 |
11
jsyzdej 2 天前 via Android
我记得 zerossl 提供免费的 ip 证书
|
12
ddd270700 OP @epiphyllum
大佬,你最牛。 你的办法是可行的。通过你的方法 1 ,我已经在腾讯云上成功配置了 zerossl 的 IP 地址证书给 NPM ,然后用 NPM 反代 taiga [项目管理开元软件] ,实现了所有的功能。 下面是我的 VX ,请大佬加我,红包奉上。恭祝乙巳年财源滚滚,桃花运不断。 cmVlZHNpbnRoZXdpbmQ= |
14
ysc3839 1 天前
印象中腾讯云 https 不用 443 端口就不需要备案,可以换别的端口试试
|