本人 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 1
说了一大堆没用的,关键的证书信息没有贴出来
不是私密连接你首先检查证书信息是不是和你的域名匹配啊,浏览器左上方点开就可以直接看了 |
5
aaa5838769 2022-12-20 12:11:08 +08:00 1
证书问题
|
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
hymzhek 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
一张截图的事写的这么多
|