Я использовал Hosting cloud-config using nginx в качестве примера:
Есть конфиг, который нужно поместить в файл nginx config:
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
.
Верно ... так что я действительно не Не знаю, кто пишет документацию для CoreOS, но как можно допустить такую ошибку, если проблема существует уже давно!
По сути, погуглите 'escape-переменную 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 '*';
}
}