ipv6을 얻기 위해 Remote_addr을 사용하는 nginx

ipv6을 얻기 위해 Remote_addr을 사용하는 nginx

작업할 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";
    }
}

관련 정보