本人 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; } }
1 ZoeeoZ 2022-12-20 11:51:50 +08:00 应该是证书问题吧 |
![]() | 2 spicy777 2022-12-20 11:54:02 +08:00 via iPhone 看下证书过期没 |
![]() | 3 des 2022-12-20 12:02:33 +08:00 via iPhone 错误代码显示的什么? |
![]() | 4 churchmice 2022-12-20 12:09:15 +08:00 ![]() 说了一大堆没用的,关键的证书信息没有贴出来 不是私密连接你首先检查证书信息是不是和你的域名匹配啊,浏览器左上方点开就可以直接看了/div> |
![]() | 5 aaa5838769 2022-12-20 12:11:08 +08:00 ![]() 证书问题 |
6 wolfcdd OP |
7 wolfcdd OP @spicy777 证书是没过期的 公用名 (CN) R3 组织 (O) Let's Encrypt 组织单位 (OU) <未包含在证书中> 颁发日期 2022 年 12 月 20 日星期二 09:32:02 截止日期 2023 年 3 月 20 日星期一 09:32:01 |
8 wolfcdd OP 为什么都是使用 acme 更新证书,黑群晖就没问题。centos 通过 nginx 反代就有问题呢 |
![]() | 9 airplayxcom 2022-12-20 13:18:49 +08:00 在地址栏看看你自己的证书是不是匹配当前域名, 另外 nginx 是不是设置了多个域名证书,要区分开来 |
10 fishg 2022-12-20 13:38:32 +08:00 curl -v |
![]() | 11 Phasma 2022-12-20 13:43:19 +08:00 您的连接不是私密连接 的结果是什么呢 证书不区配 还是什么。 |
12 wolfcdd OP @airplayxcom 没有设置多个域名 查看具体的报错,显示 PEM encoded chain ,然后把 PEM 去分析 都是同一个域名 xxx 那个 |
13 wolfcdd OP @hymzhek NET::ERR_CERT_COMMON_NAME_INVALID 这个是具体的报错代码,点击就会显示证书的 encode ,但是把这些 encode 拿去 ssl 工具站分析 得到的都是跟黑群晖那个一样的域名 xxx 那个 |
![]() | 14 churchmice 2022-12-20 14:31:07 +08:00 @wolfcdd 这还要什么分析工具啊,chrome 里面直接点开就可以看证书的 common name 了 点 URL 左边的那个锁图标,里面去看证书 |
![]() | 15 hxsf 2022-12-20 16:36:05 +08:00 via iPhone 没用 fullchain 那个证书吧?单纯的 xxx.com.cer 里面没有中间证书。 |
16 LightColors 2022-12-20 16:36:48 +08:00 证书不是浏览器认可的第三方机构生成的吧。 |
![]() | 18 Light3 2022-12-20 17:05:14 +08:00 要不 开个 ssh 我帮你看看? |
![]() | 20 LLaMA2 2022-12-20 17:50:17 +08:00 |
21 PerFectTime 2022-12-20 18:07:24 +08:00 辟谣,defunct9 没有被 ban |
22 xiaoyuesanshui 2022-12-20 21:07:34 +08:00 证书和域名不匹配 按照这个方向排查吧 |
23 xiaoyuesanshui 2022-12-20 21:08:42 +08:00 |
![]() | 24 rrfeng 2022-12-20 21:14:49 +08:00 curl -v -k https://xxxxxxxx 贴出来看一下 |
![]() | 25 hatebugs 2022-12-20 21:27:48 +08:00 via iPhone 一张截图的事写的这么多 |