我试图让prerender.io为我的Meteor应用程序使用Nginx配置工作,但不确定如何整合它。
将http代理内容放在以下部分:
if ($prerender = 0) {
#the directives
}
但问题是:
nginx: [emerg] "proxy_http_version" directive is not allowed here in /etc/nginx/sites-enabled/annachristoffer:48
nginx: configuration file /etc/nginx/nginx.conf test failed
已经坚持了一段时间,似乎无法在网上找到解释它的来源。
答案 0 :(得分:1)
该错误意味着不允许在proxy_http_version
块内使用if
指令。 documentation为每个指令指定上下文。例如,proxy_pass
指令 允许在if
块中使用。
许多nginx
指令可以从外部块继承,因此您可以像这样重构配置:
proxy_http_version ...;
proxy_... ...;
if ($prerender = 0) {
...;
proxy_pass ...;
}
请注意使用if
comes with a caution。