![nginx 使用 remote_addr 获取 ipv6](https://linux22.com/image/717949/nginx%20%E4%BD%BF%E7%94%A8%20remote_addr%20%E8%8E%B7%E5%8F%96%20ipv6.png)
因为我没有可用的 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";
}
}