nginx 配置完访问网站提示“您的连接不是私密连接”

2022-12-20 11:48:36 +08:00
 wolfcdd

本人 nginx 新手

背景说明: 1 、路由器开通了公网地址,通过 shareddns 自动更新域名解析( ali ),同时做了内网的端口转发。 2 、自己有一个虚拟黑群晖,黑群晖通过 acme.sh 使用 ali 的 RAM API (用户为 A )生成了泛域名( xxx.com );所有 docker 服务能通过黑群晖的反向代理,在公网使用 https 的域名+转发的端口方式访问进来。 3 、考虑到黑群晖性能瓶颈问题,也为了方便在 web 端管理内网的所有东西,搭了一个新的 centos7.6 ,并且完善了相应的工具,可以在内网成功实现 web 端的访问。

需求及条件描述: port1 = 本身的端口 port2 = 转发的端口

1 、能通过 https://xxx.com:port2 的方式访问到内网 centos 里 docker 中的某一个容器的应用服务。 2 、已经做了对应端口转发及 nginx 配置(附后) 3 、centos 容器中的网络端口未使用 host 方式。 4 、centos 本地可通过 http://ip:port1 的方式正常访问。 5 、内网可通过 http://ip:port 的方式访问 6 、不做 https 的话,在外网可通过 http://xxx.com:port2 的方式进行不安全的访问 7 、centos 的 nginx 通过 acme.sh 生成了证书并且跟 nginx 服务做了关联,能自动更新证书(域名依旧是:xxx.com ) ---- 之前使用新的 RAM API 生成,后来改成跟黑群晖一样的 API 生成 8 、centos 的 hosts 及 hostname 都设置了 xxx.com 9 、已关闭 SELinux ,防火墙对应端口已放开

问题来了: 在 nginx 上监听 port 的 ssl,再用 https://xxx.com:port2 的方式访问就提示“您的连接不是私密连接”

请问该如何修改呢。恳请大佬支招,感谢!

附 ngixn 配置:

默认配置中,通过 include /etc/nginx/vhost/*.conf; 额外引入

server {

	listen port2 ssl;
	ssl_certificate /etc/nginx/ssl/xxx.com.cer; 
	ssl_certificate_key /etc/nginx/ssl/xxx.com.key;
	server_name  xxx.com;

	ssl_session_cache shared:SSL:1m;
	ssl_session_timeout  10m;
	ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
	ssl_prefer_server_ciphers on;

	client_max_body_size 10M;
	location / {
		proxy_pass http://ip:port1;
		proxy_redirect http://$host/ http://$http_host/;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header Host $host;

            }

    }
3199 次点击
所在节点    NGINX
25 条回复
ZoeeoZ
2022-12-20 11:51:50 +08:00
应该是证书问题吧
spicy777
2022-12-20 11:54:02 +08:00
看下证书过期没
des
2022-12-20 12:02:33 +08:00
错误代码显示的什么?
churchmice
2022-12-20 12:09:15 +08:00
说了一大堆没用的,关键的证书信息没有贴出来
不是私密连接你首先检查证书信息是不是和你的域名匹配啊,浏览器左上方点开就可以直接看了
aaa5838769
2022-12-20 12:11:08 +08:00
证书问题
wolfcdd
2022-12-20 12:37:09 +08:00
@churchmice 证书都是通过 acme.sh 生成,域名都是 xxx.com.
wolfcdd
2022-12-20 12:40:35 +08:00
@spicy777 证书是没过期的
公用名 (CN) R3
组织 (O) Let's Encrypt
组织单位 (OU) <未包含在证书中>
颁发日期 2022 年 12 月 20 日星期二 09:32:02
截止日期 2023 年 3 月 20 日星期一 09:32:01
wolfcdd
2022-12-20 12:42:26 +08:00
为什么都是使用 acme 更新证书,黑群晖就没问题。centos 通过 nginx 反代就有问题呢
airplayxcom
2022-12-20 13:18:49 +08:00
在地址栏看看你自己的证书是不是匹配当前域名,
另外 nginx 是不是设置了多个域名证书,要区分开来
fishg
2022-12-20 13:38:32 +08:00
curl -v
hymzhek
2022-12-20 13:43:19 +08:00
您的连接不是私密连接 的结果是什么呢 证书不区配 还是什么。
wolfcdd
2022-12-20 14:04:16 +08:00
@airplayxcom 没有设置多个域名 查看具体的报错,显示 PEM encoded chain ,然后把 PEM 去分析 都是同一个域名 xxx 那个
wolfcdd
2022-12-20 14:05:25 +08:00
@hymzhek NET::ERR_CERT_COMMON_NAME_INVALID
这个是具体的报错代码,点击就会显示证书的 encode ,但是把这些 encode 拿去 ssl 工具站分析 得到的都是跟黑群晖那个一样的域名 xxx 那个
churchmice
2022-12-20 14:31:07 +08:00
@wolfcdd 这还要什么分析工具啊,chrome 里面直接点开就可以看证书的 common name 了
点 URL 左边的那个锁图标,里面去看证书
hxsf
2022-12-20 16:36:05 +08:00
没用 fullchain 那个证书吧?单纯的 xxx.com.cer 里面没有中间证书。
LightColors
2022-12-20 16:36:48 +08:00
证书不是浏览器认可的第三方机构生成的吧。
leonshaw
2022-12-20 17:00:50 +08:00
看看证书 SAN 是啥?*.xxx.com 不能用于 xxx.com
Light3
2022-12-20 17:05:14 +08:00
要不 开个 ssh 我帮你看看?
wolfcdd
2022-12-20 17:38:25 +08:00
@leonshaw 你是答对了的,自己折腾了好久。但是不知道为什么黑群晖的就不用*匹配。当作一个小疑问吧。
LLaMA2
2022-12-20 17:50:17 +08:00
@Light3 之前的最强 ssh 哥 ID defunct9 已经被 ban 了,你这是要步后尘啊。
@wolfcdd 推荐你使用 curl -v 贴出结果,方便大家排查

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/903691

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX