使用できる IPv6 アドレスがないためです。
次のようなサーバー ブロックがあったとします。
server{
listen [::]:80 ipv6only=on;
root /some/root;
server_name some.name;
index some_index.html;
location / {
return "$remote_addr";
}
}
これは IPv6 アドレスを返しますか? IPv6only を強制しているので、返されると思います。
答え1
いいえ、違います。
Nginx の return ディレクティブは、引数として HTTP ステータス コードを必要とします。
ただし、この目的には echo モジュールを使用できます。
server {
listen [::]:80 ipv6only=on;
server_name some.name;
location / {
echo "$remote_addr";
}
}