Nginx

nginx 使用 remote_addr 獲取 ipv6

  • February 22, 2018

因為我沒有可使用的 IPv6 地址。

如果我有這樣的伺服器塊:

server{
   listen [::]:80 ipv6only=on;

   root /some/root;
   server_name some.name;
   index some_index.html;
   location / {
       return "$remote_addr";
   }
}

這會返回 ipv6 地址嗎?我假設是的,因為它強制 ipv6only。

不,它沒有。

Nginx 的返回指令需要一個 HTTP 狀態碼作為參數。

但是您可以為此目的使用 echo 模組:

server {
   listen [::]:80 ipv6only=on;
   server_name some.name;
   location / {
       echo "$remote_addr";
   }
}

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