Nginx反向代理设置

标签 nginx proxy server reverse setting

我对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必须位于locationif in locationlimit_except块中。您将其放在server块中。

尝试将proxy_pass的用法替换为

location / {
    proxy_pass ...
}

关于Nginx反向代理设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36096233/

相关文章:

nginx - 将子文件夹重写为子域而不使用 nginx 重定向

php - Docker复制无效,内容未更新

java.lang.reflect.Proxy 和 java.lang.reflect.InitationHandler

docker - curl 在 docker 容器内不工作

php - GitHub 页面是否支持 PHP?

linux - 如果您使用 nginx,请删除 apache2?

ssl - 使域指向另一个 https 域

linux - C Linux tcp 代理服务器套接字

java - 生产服务器中的 tomcat 超出了 GC 开销限制

javascript - 无法使用 Express 服务器加载 app.css、main.js 和其他文件