Configuration

CoreOS - 使用 nginx 託管雲配置

  • March 9, 2019

我一直以使用 nginx 的 Hosting cloud-config為例:

您需要將一個配置放入 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

我該如何解決?

我正在使用用http_sub_module.

對……所以我真的不知道誰為 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 '*';
   }

}

引用自:https://unix.stackexchange.com/questions/303514