概述
今天更换了电脑,在本地安装和配置docker的时候,想用自定义域名访问NGINX容器,127.0.0.1
和localhost
都可以访问,但是自定义域名无法访问, 接着去捯饬已经使用的wampserver
的集成环境,出现了同样的问题
环境
- 平台:win11
- wampserver版本:3.x.x
- apache版本:2.x.x
问题
配置本地自定义域名,在使用浏览器访问的时候出现ERR_CONNECTION_CLOSED
或ERR_CONNECTION_REFUSED
的错误,但是使用127.0.0.1
和localhost
都可以访问,也可以ping
通域名,但是浏览器就是无法访问,报错
分析
出现上面问题,可能出现问题的地方:apache配置、本地hosts文件配置,再不行就是防火墙出入站规则问题, 也去检查了apache的错误日志(发现压根没有来)
1. 检查apache配置
之前一直在使用,没有问题,可排除
2. 检查hosts文件
配置如下:
127.0.0.1 one.example.test
3. 添加出入站规则
把80端口添加在出入站规则里
4. 测试
这个时候,去访问自定义域名,发现还是出现ERR_CONNECTION_CLOSED
5. 重新思考
提示这个,是不是压根都没有到apache服务器层面,是本地的网络配置导致?
- 关闭本地代理
关闭之后出现新的错误ERR_CONNECTION_REFUSED
, 那说明一定要关闭本地代理,
又去重新去检查了一遍配置,没有发现问题,无奈之下,就去用wampserver
自带的工具尝试,发现可以正常使用自定义域名,然后去对比了hosts
文件,发现他们果然不一样
- 自带工具生成的
hosts
文件内容:
127.0.0.1 two.example.test
::1 two.example.test
原因
通过上面地尝试,发现是hosts
文件配置出现了问题,没有配置用于IPV6
网络解析的地址,导致无法解析到地址,所以得出结论就是:只配置了用于IPV4
网络解析的地址,没有配置用于IPV6
网络解析的地址
解决方案
在本地hosts
文件中同时配置用于IPV4
和IPV6
网络解析的地址
注意
一定要关闭网络代理
希望有一点小小的帮助······