我是靠谱客的博主 温柔砖头,最近开发中收集的这篇文章主要介绍nginx 80端口无法访问docker内nginx配置ssl后http无法访问,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

docker内nginx配置ssl后http无法访问

问题:

https可以访问,http端口无法访问,https默认访问443接口,http默认访问80端口,即80端口配置失效:

rewrite ^(.*)$ https://$host$1 permanent;

没有跳转到https请求,输入https://加域名可以访问,直接输入域名无法访问.

下图为配置文件:
在这里插入图片描述

排查思路:

1,检查80端口是否开启:
在这里插入图片描述
在这里插入图片描述
排查为已开启状态,并且之前应用直接开放80端口未安装nginx时尝试访问正常.

2.查看nginx是否监听80端口
在这里插入图片描述
可以看到是监听了80端口的.

3.查看nginx日志
发现nginx根本没有打印任何日志,所以不知道请求到底是否进入nginx
附上页面访问结果:
在这里插入图片描述
在这里插入图片描述

再次更新一下吧,问题已经解决,很蛋疼,可以提供一下排查思路.

确认请求是否进入80端口:

1.ping是ICMP协议,ICMP仅包含控制信息,没有端口。telnet是TCP协议,有端口,能承载数据。
2.启动telnet服务组件后, 简单的测试办法是在本机上telnet 127.0.0.1,如果失败就是telnet服务没有启动,如果成功就说明防火墙作了限制。
3.确认telnet服务启动后,telnet ip或域名 端口,例: telnet 127.0.0.1 80

总的排查思路没错:
1.在服务器安全-防火墙内,确认已经添加该端口。
2.确认服务已经开启端口。
3.确认80端口正常被监听。
4.确认实例防火墙已经放行服务。

这个排查思路是没有错的,但是我都尝试了并且没有效,最终重置系统再次部署项目依旧不能访问80端口。

然后提交了工单,阿里云服务器显示我安全组内已开发80端口,但是在客服控制面板内却查询80端口未开放,所以一直telnet不通,最后我删除旧规则重写添加新的80端口解决了。(阿里云服务器使用还是可以的,只是我比较倒霉,碰上了低概率的bug,有相似问题的可以参考一下排查思路)
在这里插入图片描述

最后

以上就是温柔砖头为你收集整理的nginx 80端口无法访问docker内nginx配置ssl后http无法访问的全部内容,希望文章能够帮你解决nginx 80端口无法访问docker内nginx配置ssl后http无法访问所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部