Nginx 配置:前端反向代理到另一个端口

Nginx 配置:前端反向代理到另一个端口

我有一个小型 Web 服务器,它在端口 5010 而不是 80 上处理请求。

我想使用 nginx 作为前端代理来接收端口 80 上的请求,然后让端口 5010 处理这些请求。

我已经成功安装了 nginx,并且它在 Ubuntu Karmic 上顺利运行。

但是,我尝试重新配置默认的 nginx.conf,但没有成功。

我尝试在服务器指令中包含端口 5010 的监听参数。

我也尝试过 proxy_pass 指令。

关于需要进行的更改或需要设置的指令的任何建议,以便仅进行端口转发。

答案1

我假设 nginx 不是监听端口 5010 和 80 的服务器,对吗?有其他东西在监听 5010,而您希望 nginx 代理该服务器吗?

如果是这种情况,这里有一个我过去成功使用过的很好的示例配置:

server {
        listen       80;
        server_name  <YOUR_HOSTNAME>;
        location / {
            proxy_pass         http://127.0.0.1:5010/;
            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_buffer_size          4k;
            proxy_buffers              4 32k;
            proxy_busy_buffers_size    64k;
            proxy_temp_file_write_size 64k;
        }
}

我相信这应该能实现你的目标。祝你好运!

答案2

相当简约——我将代理设置保留为默认设置,但您可能需要查看它以根据您的需要进行调整。

# NGINX configuration

# System configuration ##################
worker_processes  3;
events {
    worker_connections  1024;
}
user nobody;

# Web configuration #####################
http {
    server {
        listen 80 default;
        location / {
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
            proxy_set_header   Host             $host;

            proxy_pass http://127.0.0.1:5010/;

        }
    }
}

相关内容