nginx使用remote_addr取得ipv6

nginx使用remote_addr取得ipv6

因為我沒有可用的 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";
    }
}

相關內容