V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
wolfcdd
V2EX  ›  NGINX

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

  •  
  •   wolfcdd · 2022-12-20 11:48:36 +08:00 · 3496 次点击
    这是一个创建于 683 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本人 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;
    
                }
    
        }
    
    25 条回复    2022-12-20 21:27:48 +08:00
    ZoeeoZ
        1
    ZoeeoZ  
       2022-12-20 11:51:50 +08:00
    应该是证书问题吧
    spicy777
        2
    spicy777  
       2022-12-20 11:54:02 +08:00 via iPhone
    看下证书过期没
    des
        3
    des  
       2022-12-20 12:02:33 +08:00 via iPhone
    错误代码显示的什么?
    churchmice
        4
    churchmice  
       2022-12-20 12:09:15 +08:00   ❤️ 1
    说了一大堆没用的,关键的证书信息没有贴出来
    不是私密连接你首先检查证书信息是不是和你的域名匹配啊,浏览器左上方点开就可以直接看了
    aaa5838769
        5
    aaa5838769  
       2022-12-20 12:11:08 +08:00   ❤️ 1
    证书问题
    wolfcdd
        6
    wolfcdd  
    OP
       2022-12-20 12:37:09 +08:00
    @churchmice 证书都是通过 acme.sh 生成,域名都是 xxx.com.
    wolfcdd
        7
    wolfcdd  
    OP
       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
        8
    wolfcdd  
    OP
       2022-12-20 12:42:26 +08:00
    为什么都是使用 acme 更新证书,黑群晖就没问题。centos 通过 nginx 反代就有问题呢
    airplayxcom
        9
    airplayxcom  
       2022-12-20 13:18:49 +08:00
    在地址栏看看你自己的证书是不是匹配当前域名,
    另外 nginx 是不是设置了多个域名证书,要区分开来
    fishg
        10
    fishg  
       2022-12-20 13:38:32 +08:00
    curl -v
    hymzhek
        11
    hymzhek  
       2022-12-20 13:43:19 +08:00
    您的连接不是私密连接 的结果是什么呢 证书不区配 还是什么。
    wolfcdd
        12
    wolfcdd  
    OP
       2022-12-20 14:04:16 +08:00
    @airplayxcom 没有设置多个域名 查看具体的报错,显示 PEM encoded chain ,然后把 PEM 去分析 都是同一个域名 xxx 那个
    wolfcdd
        13
    wolfcdd  
    OP
       2022-12-20 14:05:25 +08:00
    @hymzhek NET::ERR_CERT_COMMON_NAME_INVALID
    这个是具体的报错代码,点击就会显示证书的 encode ,但是把这些 encode 拿去 ssl 工具站分析 得到的都是跟黑群晖那个一样的域名 xxx 那个
    churchmice
        14
    churchmice  
       2022-12-20 14:31:07 +08:00
    @wolfcdd 这还要什么分析工具啊,chrome 里面直接点开就可以看证书的 common name 了
    点 URL 左边的那个锁图标,里面去看证书
    hxsf
        15
    hxsf  
       2022-12-20 16:36:05 +08:00 via iPhone
    没用 fullchain 那个证书吧?单纯的 xxx.com.cer 里面没有中间证书。
    LightColors
        16
    LightColors  
       2022-12-20 16:36:48 +08:00
    证书不是浏览器认可的第三方机构生成的吧。
    leonshaw
        17
    leonshaw  
       2022-12-20 17:00:50 +08:00 via Android
    看看证书 SAN 是啥?*.xxx.com 不能用于 xxx.com
    Light3
        18
    Light3  
       2022-12-20 17:05:14 +08:00
    要不 开个 ssh 我帮你看看?
    wolfcdd
        19
    wolfcdd  
    OP
       2022-12-20 17:38:25 +08:00
    @leonshaw 你是答对了的,自己折腾了好久。但是不知道为什么黑群晖的就不用*匹配。当作一个小疑问吧。
    LLaMA2
        20
    LLaMA2  
       2022-12-20 17:50:17 +08:00
    @Light3 之前的最强 ssh 哥 ID defunct9 已经被 ban 了,你这是要步后尘啊。
    @wolfcdd 推荐你使用 curl -v 贴出结果,方便大家排查
    PerFectTime
        21
    PerFectTime  
       2022-12-20 18:07:24 +08:00
    辟谣,defunct9 没有被 ban
    xiaoyuesanshui
        22
    xiaoyuesanshui  
       2022-12-20 21:07:34 +08:00
    证书和域名不匹配
    按照这个方向排查吧
    xiaoyuesanshui
        23
    xiaoyuesanshui  
       2022-12-20 21:08:42 +08:00
    @hxsf #15 这个有道理,ACME.SH 的官方文档提过,如果是 nginx 要用 fullchain
    rrfeng
        24
    rrfeng  
       2022-12-20 21:14:49 +08:00
    curl -v -k https://xxxxxxxx
    贴出来看一下
    hatebugs
        25
    hatebugs  
       2022-12-20 21:27:48 +08:00 via iPhone
    一张截图的事写的这么多
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2604 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 15:36 · PVG 23:36 · LAX 08:36 · JFK 11:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.