我一直在使用使用 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 编写文档,但是当问题已经存在很长时间时,你怎么会犯这样的错误!
基本上,谷歌“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 '*';
}
}