我的 WSL 的问题是以下我的 WSL 无法在本地主机下的任何地方发出 cURL 请求。在这个例子中,我创建了一个返回 hello world 的页面。我的 cURL 看起来像这样(请注意,即使使用 http://,响应也是一样的)
curl -vvv localhost:80/hello_world.html
响应如下
* Trying 127.0.0.1...
* TCP_NODELAY set
* connect to 127.0.0.1 port 80 failed: Connection refused
* Failed to connect to localhost port 80: Connection refused
* Closing connection 0
curl: (7) Failed to connect to localhost port 80: Connection refused
Run Code Online (Sandbox Code Playgroud)
现在,如果我在 Powershell 上运行以下 cURL
curl http://localhost:80/hello_world.html
我得到的回应是
StatusCode : 200
StatusDescription : OK
Content : <h1> Hello World </h1>
RawContent : HTTP/1.1 200 …Run Code Online (Sandbox Code Playgroud) windows localhost curl windows-10 windows-subsystem-for-linux
我正在尝试localhost通过我的浏览器连接来学习一些 Apache Tomcat 的东西。
当我尝试通过 Firefox 连接到 localhost 时,我不能;当我尝试通过 Internet Explorer 时,我第一次可以,但之后就不行了。
我使用的是 Windows 7,并将主机文件更改为将 localhost 指向127.0.0.1. 我可以成功 ping localhost 和127.0.0.1.
我曾尝试关闭防病毒软件和 Windows 防火墙,但无济于事。
我究竟做错了什么?
我的 Mac 本地 apache 服务器正在运行 当我访问 localhost 时,我会看到标准的“It Works”页面。“It works”页面被缓存——它实际上和 127.0.0.1 一样被破坏了。当我访问 127.0.0.1 时,chrome 给了我Error code: ERR_CONNECTION_REFUSED. 所以我跑了一个telnet. 结果:
harryg$ telnet localhost 80
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
Trying fe80::1...
telnet: connect to address fe80::1: Connection refused
telnet: Unable to connect to remote host
Run Code Online (Sandbox Code Playgroud)
但是scutil给出了这个:
harryg$ scutil -r localhost
Reachable,Local Address,Directly Reachable Address
Run Code Online (Sandbox Code Playgroud)
知道为什么它不起作用吗?apache 是否正在侦听某个不同的端口?如果是,我该如何检查?我有一些本地.dev虚拟主机,我添加到我的主机文件中的一些本地虚拟主机应该可以访问它们。例如,127.0.0.1 home.dev但他们也给出了上述错误。 …
我有一台运行 OS X Server 10.5 的服务器,但它无法将 localhost 解析为 127.0.0.1。
当我尝试 ping 时,会发生以下情况:
> ping 本地主机 ping:无法解析本地主机:未知主机
SSH 和网络浏览器得到相似的结果(未知主机)。如果我尝试使用 127.0.0.1 或在 LAN 上分配的 ip 地址,则上述所有工作。
这是我的 /etc/hosts 文件的内容:
> 猫 /etc/hosts ## # 主机数据库 # # localhost 用于配置loopback接口 # 系统启动时。不要更改此条目。 ## 127.0.0.1 本地主机 255.255.255.255 广播主机 ::1 本地主机 fe80::1%lo0 本地主机
我没有运行本地 DNS 服务。
有谁知道为什么会发生这种情况或我该如何解决?
在 windows 上做一些节点开发。Node 程序喜欢踢出看起来像http://0.0.0.0:8080. 在 Linux (iirc) 中,将该 url 粘贴到浏览器中会成功。但在 Windows 中,它是 404。我想我只能添加:
0.0.0.0 localhost
到我的hosts文件,但这似乎不起作用。例如,我有一个运行在http://localhost:8080/debug?port=5858. 工作正常。但是,当我将上述行添加到我的主机文件并尝试访问时,http://0.0.0.0:8080/debug?port=5858我得到:
Error 108 (net::ERR_ADDRESS_INVALID): Unknown error.
节点检查器就是一个很好的例子:
$ node-inspector
info - socket.io started
visit http://0.0.0.0:8080/debug?port=5858 to start debugging
Run Code Online (Sandbox Code Playgroud)
我是否只需要在复制/粘贴时手动编辑该 IP 使其等于 localhost?或者这是 Linux 和 Windows 之间的奇怪区别吗?
如何在 Windows 7 中浏览 url 时0.0.0.0等效localhost?Chrome 是我的“默认”浏览器。
大多数应用程序只需要一个环回 IP 地址127.0.0.1。但是,不仅127.0.0.1/32提供了地址块,甚至127.0.0.0/24还提供了地址块,实际上提供了整个范围127.0.0.0/8。显然,这是完全不合理的空间浪费,因为拥有多个环回 IP 地址毫无意义。或者可能不是。为什么环回IP地址不止一个?
我遇到了一个非常奇怪的 Mac 问题:Safari 无法连接到本地主机,而所有其他应用程序都可以正常连接(Firefox、Chrome、ping 等)。
我的 /etc/hosts 是标准设置:
$ egrep localhost /etc/hosts
# localhost is used to configure the loopback interface
127.0.0.1 localhost
::1 localhost
fe80::1%lo0 localhost
127.0.0.1 testing.localhost
Run Code Online (Sandbox Code Playgroud)
问题:有没有其他人遇到过这种情况?可能是什么问题呢?
更新 #1:我有一台在 localhost:8080 上运行的服务器。从 Safari 访问时,我收到错误消息“Safari 无法连接到服务器”。“ http://localhost:8080/ ” 在 Firefox 和 Chrome 中完美运行。
更新 #2:与“ http://127.0.0.1:8080/ ”相同的问题- 所以它似乎与将 localhost 解析为 127.0.0.1 无关。
我telnet localhost在 Mac OS X Lion 上试过,这是我得到的输出。
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
Trying fe80::1%lo0...
telnet: connect to address fe80::1%lo0: Connection refused
telnet: Unable to connect to remote host: Connection refused
Run Code Online (Sandbox Code Playgroud)
它尝试三个不同的地址。我原以为它只会尝试 127.0.0.1,或者至少先尝试一下。这些其他地址是什么?
这个问题不是重复的,因为建议的重复不能解决这个问题。上没有这样的标志chrome://flags/。
我正在使用Google Chrome网络浏览器并WampServer在本地托管网站。当我尝试在localhost地址上查看我的网站时Chrome出现错误ERR_CONNECTION_REFUSED。当我输入 IP 地址时127.0.0.1,结果保持不变。
另一方面,如果我进入localhost地址栏,Internet Explorer我会得到预期的结果:显示的网页。
我如何使Chrome的localhost工作?这可能是某种安全措施,但对我来说,这比其他任何事情都令人烦恼。
我有一个在 Windows 上的本地主机 (127.0.0.1) 端口 8545 上运行的应用程序。我的目标是能够从 WSL2 内与该应用程序进行通信。但是,每当我尝试从 WSL2 内访问该地址时,都会出现连接超时。
\n以下是我尝试过的总结:
\n根据此处的\n答案禁用了 WSL 的 Windows Defender 防火墙:
\n\n通过在 WSL\n终端中运行此命令(返回 172.22.144.1)找到我的主机\xe2\x80\x99s(Windows)本地 IP:
\necho $(ip 路由列表默认 | awk \'{print $3}\')
\n使用以下命令从 WSL 终端 ping 正在运行的 Windows 应用程序:
\n数控-zv 172.22.144.1 8545
\n第 3 步之后,有一段时间没有任何反应,然后我收到连接超时错误。
\n从 Windows powershell,我能够成功 ping 相同的应用程序,如下所示:
\nTest-NetConnection 127.0.0.1 -p 8545\nRun Code Online (Sandbox Code Playgroud)\n有谁知道解决方案是什么?我需要做什么才能允许 WSL2 与 Windows 本地主机通信?我使用的是 Windows 10 家庭版和 WSL2。 …
localhost ×10
networking ×4
mac ×2
macos ×2
windows-subsystem-for-linux ×2
curl ×1
dns ×1
ip ×1
ip-address ×1
loopback ×1
osx-lion ×1
osx-server ×1
safari ×1
telnet ×1
wamp ×1
windows ×1
windows-10 ×1
windows-7 ×1
wsl2 ×1