遇到的localhost无法访问,而127.0.0.1可以访问的问题

上次重装win7系统之后,我发现很多场景下无法连接数据库。发现是因为localhost无法连接到数据库,不过127.0.0.1可以。


今天在回顾之前的一个项目时,也发现无法连接数据库。秉着“遇到问题一定要及时解决”、“不拖延”的想法,这次终于找到了问题所在。其实,并不是什么很难的问题。


如果你也碰到这个问题,我觉得你还是不要再去搜索了,因为我看了很多,发现有很多原因会导致这个问题。所以最好的解决方法就是自己找到问题所在。


我的问题关键是hosts文件的设置。在一开始配置时,我设置了

127.0.0.1    localhost
::1    localhost
因此,localhost并没有解析到127.0.0.1上。同时数据库设置拒绝::1访问。


期间还有一个问题是apache虚拟主机的设置。因为我设置过虚拟主机,所以在上面将localhost解析到127.0.0.1后,却发现localhost访问的不是默认的www目录。原来虚拟主机<VirtualHost>标签配置后,默认的'main'配置会被覆盖。所以需要把localhost的配置也加入到新的<VirtualHost>。另外,当一个请求没有匹配的ServerName,会默认去访问第一个<VirtualHost>标签。

### 解决无法访问 localhost 网站被拒绝连接请求问题 当遇到 `localhost` 连接被拒的问题时,可能由多种因素引起。以下是几种常见的解决方案: #### 1. 检查防火墙设置 有时本地防火墙可能会阻止应用程序通过特定端口进行通信。确认防火墙未阻挡 Vue 应用使用的默认端口 (通常是8080),如果确实存在阻拦,则需调整防火墙配置允许该端口的数据传输[^1]。 #### 2. 清除 HSTS 设置 对于某些浏览器而言,HSTS(HTTP严格传输安全协议)可能导致尝试通过 HTTPS 访问站点而失败。可以通过清除 HSTS 来解决问题,在 Chrome 或 Edge 浏览器中输入相应命令来删除 HSTS 数据: - 对于 Google Chrome, 输入 `chrome://net-internals/#hsts` - 对于 Microsoft Edge, 输入 `edge://net-internals/#hsts` 完成上述操作并重启浏览器后通常能够恢复正常访问[^3]。 #### 3. 处理 X-Frame-Options 错误 如果是在 iframe 中加载页面遇到了 "refused to display 'http://localhost:xxxx/' in a frame" 的错误消息,这表明服务器响应头包含了 `X-Frame-Options:DENY` 字段,防止网页嵌入其他页面内作为框架显示。要解决这个问题,可以在开发环境中修改 Webpack 配置文件或其他相关配置项以移除此选项或将其更改为 `SAMEORIGIN` 或者 `ALLOW-FROM uri`[^2]。 ```javascript // webpack.config.js 示例代码片段 module.exports = { devServer: { headers: { 'Content-Security-Policy': "frame-ancestors 'self' http://example.com", 'X-Frame-Options': 'SAMEORIGIN' } }, }; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值