我有一个 nGINX 服务器正在运行。我想从传入的请求中读取自定义 HTTP 标头并将其重定向到不同的应用程序服务器。我确实搜索了类似的问题,但发现用于编写自定义标题而不是如何阅读..
如果标头设置为 -> "version = Version 1.0" 那么它应该重定向不同的应用程序(比如 uwsgi_pass xxxx:80)
如果它设置为“版本 = 版本 2.0”,那么它应该重定向到 (uwsgi_pass xxxx:99)
我在我的 nginx.conf 文件中尝试过
server{
listen 80;
server_name xyz.com;
if ($http_version ~ 'Version 1.0') {
proxy_pass http://192.168.0.116:99/calc;
}
if ($http_version ~ 'Version 2.0') {
proxy_pass http://192.168.0.116:99;
}
location /hello {
proxy_pass http://192.168.0.116:99/calc;
}
}
重新启动 nGINX 时出现错误
nginx: [emerg] "proxy_pass" directive is not allowed here in /etc/nginx/nginx.conf:19
nginx: configuration file /etc/nginx/nginx.conf test failed