我对Nginx完全陌生,需要您的帮助。
基本上,我有一台具有单个IP地址的服务器,但是我想在服务器中使用不同的域名托管两个不同的Web应用程序。因此,基本上,对于每个域名,我希望它重定向到不同的端口号。我在下面尝试并出现错误
[root@mysvr nginx]# nginx -t -c /etc/nginx/nginx.conf
nginx: [emerg] "proxy_pass" directive is not allowed here in /etc/nginx/nginx.conf:41
nginx: configuration file /etc/nginx/nginx.conf test failed
以下是Nginx设置。第41行是proxy_pass所在的位置。
server {
listen 80;
server_name server1.com www.server1.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:1003;
}
server {
listen 80;
server_name server2.com www.server2.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://192.168.1.1:1004;
}
谢谢!
最佳答案
如果您在文档中检查 proxy_pass
,则proxy_pass
必须位于location
,if in location
或limit_except
块中。您将其放在server
块中。
尝试将proxy_pass
的用法替换为
location / {
proxy_pass ...
}
关于Nginx反向代理设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36096233/