CoreOS - nginx를 사용한 관리형 클라우드 구성

CoreOS - nginx를 사용한 관리형 클라우드 구성

나는 사용해왔다nginx를 사용한 호스팅 클라우드 구성예를 들어:

nginx 구성 파일에 구성을 넣어야 합니다.

location ~ ^/user_data {
  root /path/to/cloud/config/files;
  sub_filter $public_ipv4 '$remote_addr';
  sub_filter $private_ipv4 '$http_x_forwarded_for';
# sub_filter $private_ipv4 '$http_x_real_ip';
  sub_filter_once off;
  sub_filter_types '*';
}

그러나 이렇게 하면 다음이 nginx -t제공됩니다.

nginx: [emerg] unknown "public_ipv4" variable
nginx: configuration file /etc/nginx/nginx.conf test failed

어떻게 해결할 수 있나요?

nginx 1.10.1 으로 컴파일 중입니다 http_sub_module.

답변1

네...그래서 누가 CoreOS 문서를 작성했는지는 잘 모르겠지만, 문제가 오랫동안 지속되어 왔는데 어떻게 그런 실수를 할 수 있습니까?

기본적으로 Google "nginx 이스케이프 변수"를 검색하면 거기에 도달하게 됩니다. https://github.com/openresty/nginx-tutorials/blob/master/en/01-NginxVariables01.tut

사이트가 다운되는 경우 사본은 다음과 같습니다.

geo $dollar {
    default "$";
}

server {
    listen 8080;

    location ~ ^/user_data {
        root /path/to/cloud/config/files;
        sub_filter ${dollar}public_ipv4 '$remote_addr';
        sub_filter ${dollar}private_ipv4 '$http_x_forwarded_for';
        # sub_filter ${dollar}private_ipv4 '$http_x_real_ip';
        sub_filter_once off;
        sub_filter_types '*';
    }

}

관련 정보