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 的返回指令需要 HTTP 状态代码作为参数。

但您可以使用 echo 模块来实现此目的:

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

相关内容