本人 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;
}
}
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.