在 Nginx 上设置代理,非常简单

在 Nginx 上设置代理,非常简单

你好,我习惯使用 Apache 和 Mod 代理,我的服务器配置看起来有点像这样,我将所有传入请求重定向到

  服务器名称 example.com
  文件根目录 /var/www/trunk/public



  服务器名称 www.example.com
  永久重定向 / http://mentoredge.com



    ProxyPreserveHost 开启
    服务器名称 o.example.com
    代理通行证 / http://localhost:8000/
    ProxyPassReverse / http://localhost:8000/


在这里,我将 o.example.com 上的所有传入请求路由到本地主机的 8000 端口。

我已经迁移到 Nginx,现在尝试为同一个 o.example.com 设置此代理。有人能向我解释如何完成此操作吗?

 
server {
  listen 80;

  server_name o.example.com;

  location / {
       proxy_pass http://localhost:8000;
       proxy_redirect          off;
       proxy_set_header        Host             $host;
       proxy_set_header        X-Real-IP       $remote_addr;
       proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
       client_max_body_size    10m;
       client_body_buffer_size 128k;
       proxy_connect_timeout   90;
       proxy_send_timeout      90;
       proxy_read_timeout      90;
       proxy_buffers           32 4k;
       proxy_set_header X-Forwarded-Server $host;

  }

}

这是我添加到 conf 中的内容,但似乎并没有达到我的预期效果。我是不是漏掉了什么?问题是我将其存储为单独的 .conf 文件,并且它会在所有其他服务器信息之前先添加。

答案1

这是我使用的

            location / {
                    proxy_read_timeout 2000;
                    proxy_next_upstream error;
                    proxy_set_header X-Real-IP $remote_addr;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                    proxy_set_header Host $http_host;
                    proxy_redirect off;
                    proxy_max_temp_file_size 0;
                    proxy_pass http://localhost:8000;
                    break;

            }

相关内容