Windows-10

cURL 可以連接到 localhost 但瀏覽器不能

  • July 29, 2021

我的系統是帶有 WSL2 的 Win10,我執行了一個 dockergogs容器(來自 WSL 中的 ubuntu):

   83b2a8833235   gogs/gogs                    "/app/gogs/docker/st…"   17 minutes ago   Up 17 minutes   0.0.0.0:10022->22/tcp, :::10022->22/tcp, 0.0.0.0:10080->3000/tcp, :::10080->3000/tcp       gogs

我發現我可以cURL它,但不能使用瀏覽器訪問它:

   >curl -vvv http://localhost:10080
   * Rebuilt URL to: http://localhost:10080/
   *   Trying ::1...
   * TCP_NODELAY set
   * Connected to localhost (::1) port 10080 (#0)
   > GET / HTTP/1.1
   > Host: localhost:10080
   > User-Agent: curl/7.55.1
   > Accept: */*
   >
   < HTTP/1.1 302 Found
   < Content-Type: text/html; charset=utf-8
   < Location: /install
   < Set-Cookie: lang=en-US; Path=/; Max-Age=2147483647
   < Set-Cookie: i_like_gogs=64602dcbf733a9e0; Path=/; HttpOnly
   < Set-Cookie: _csrf=CEoPJD9KItxBKOThbeQExNAjnDo6MTYyNzQ4MDI3Njg1MDY2NTEwMA; Path=/; Domain=localhost; Expires=Thu, 29 Jul 2021 13:51:16 GMT; HttpOnly
   < X-Content-Type-Options: nosniff
   < X-Frame-Options: DENY
   < Date: Wed, 28 Jul 2021 13:51:16 GMT
   < Content-Length: 31
   <
   <a href="/install">Found</a>.
   
   * Connection #0 to host localhost left intact

使用netstat -a -o我可以在 Active Connections 中看到地址:

TCP    0.0.0.0:10080          xxxxxxx:0          LISTENING       13152

但我無法使用瀏覽器訪問: 無法使用瀏覽器訪問

有人有任何提示嗎?

大多數瀏覽器出於安全原因在 localhost 上限制 10080

解決方案

  • 更改埠。

參考

Google Chrome 阻止埠 10080 以阻止 Nat slip 流攻擊

Chrome 平台

附加資訊:

目前,Google瀏覽器還在埠 69、137、161、554、1719、1720、1723、5060、5061 和 6566 上阻止 FTP、HTTP 和 HTTPS 訪問。

引用自:https://serverfault.com/questions/1070910