Contents

解決 localhost 返回 ::1 而非 127.0.0.1 的問題

最近專案要加上 IP 限制,我專案會打本機站台,外了增加安全性,最近程式加上 IP 限制。然而,當我們使用 localhost 時,得到的 IP 不是預期的 127.0.0.1,而是 ::1。那麼,我們該如何解決這個問題呢?

::1 是 IPv6

當我們在程式中設定 IP 為 127.0.0.1 時,實際取出來的 IP 字串會是 ::1。這是因為 ::1 是 IPv6 的表示方式。你可以透過 ping 命令來驗證這一點。

https://user-images.githubusercontent.com/6058558/269945098-97e335dd-3da8-4e70-9949-6040c9b94c74.png

Tip
IPv6 是網際網路協議的最新版本,它使用 128 位的地址,而不是 IPv4 的 32 位。這意味著它可以提供更多的 IP 地址。在 IPv6 中,::1 表示本地主機的地址。

排除方法

  1. 直接在程式中設定 IP 為 127.0.0.1
  2. ::1 加入到白名單。

參考來源