https 证书配置无效排查思路(过程)

配置了 https 证书 ,却不生效,类似下图

 

 

1:确认证书是否有效

 

2:打开 Chrome 控制台 Security 选项 , 有报红的地方就是 引用了 http 资源,那么需要将这些http 资源修改为 https

 

3:Chrome 控制台 Network 选项 查看是否有报红的地方 ,无法访问 。从http 切换成 https 图片全部挂掉

 

4:将 报红资源 url 地方复制到 地址上 确认下能不能访问

 

5:我的是可以访问 ,在这个页面上点击高级 访问是可以访问的 ,但是由于 网页是https 的 不允许请求 http 资源 ,所以直接报红 挂掉

 

6:改为https 后路径是这样的 https://www.xx.com:6080/upload/xxx.png 也是图片挂掉

 

7:第一想法是nginx 去进行配置路由,发现一直无法生效 (这个耗费了好长时间)

 

8:后来 netstat -tunlp 查看下 6080 的端口号,发现以前一直是 tomcat 在占用端口 ,文件也一直是放在 tomcat webapps 下面的 ,所以不管我怎么改nginx 配置都是无效的 ,因为端口被占用了 nginx 无法监听 。

 

9:将 tomcat 配置文件中修改 端口为 6081端口 ,并重启 tomcat

/tomcat8/conf 
vim server.xml

 

10:这时候在 nginx.conf 文件上写终于是生效了

 

11:但是之前没有配置过带端口号的 HTTPS 。一直以为 HTTPS 就只能绑定 默认的443 端口

https://www.xx.com/upload/xxx.png

这样子 ,知识盲区了,怎么搜也搜不出想要的答案。这样写试试看,能不能匹配

 

12:发现还是不能,(这个耗费好长时间)

 

13:看到了一串代码 , 是将 listen 443 ssl 进行修改为 listen 6080 ssl 成功了。意思是

https://www.xx.com:6080/upload/xxx.png

匹配到这个server ,location / 匹配tomcat 的端口映射 。

14:(1)如果有向这样匹配多个的话,加上有可能会找不到资源。或者无法访问 。不妨先将其他都注释掉,

(2)只开放一个 location / { } 试试。

(3)还有http 要改为https

 

 

posted @ 2020-05-08 18:25  邱健  阅读(1004)  评论(0编辑  收藏  举报