Nginx Config: Proxy đảo ngược giao diện người dùng sang cổng khác


22

Tôi có một máy chủ web nhỏ phục vụ các yêu cầu trên cổng 5010 thay vì 80.

Tôi muốn sử dụng nginx làm proxy mặt trước để nhận yêu cầu trên cổng 80 và sau đó để các yêu cầu đó được xử lý theo cổng 5010.

Tôi đã cài đặt nginx thành công và nó chạy trơn tru trên Ubuntu Karmic.

Nhưng, những nỗ lực của tôi để cấu hình lại nginx.conf mặc định đã không thành công.

Tôi đã thử bao gồm trong chỉ thị máy chủ đối số nghe cho cổng 5010.

Tôi cũng đã thử chỉ thị proxy_pass.

Bất kỳ đề xuất nào về các thay đổi cần được thực hiện hoặc chỉ thị cần được đặt để chỉ có chuyển tiếp cổng.

Câu trả lời:


22

Tôi cho rằng nginx không phải là máy chủ lắng nghe trên cổng 5010 cũng như 80, đúng không? Một cái gì đó khác đang nghe trên 5010 và bạn muốn có nginx proxy cho máy chủ đó?

Nếu đó là trường hợp, đây là một cấu hình mẫu đẹp mà tôi đã sử dụng trong quá khứ thành công:

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;
        }
}

Tôi tin rằng nên hoàn thành những gì bạn đang tìm kiếm. Chúc may mắn!


Điều này không hoạt động trên macOS brew nginx. Bạn phải thêm một khối http {} xung quanh máy chủ, nếu không: nginx: [nổi lên] chỉ thị "máy chủ" không được phép ở đây
muenalan

13

Khá tối giản - Tôi đã để các cài đặt proxy làm mặc định, mặc dù bạn có thể muốn xem xét nó để điều chỉnh theo nhu cầu của mình.

# 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/;

        }
    }
}

2
Tyler - giải pháp tối thiểu của bạn là tốt. Đó là cái mà tôi đã muốn. Sẽ cho bạn điểm nếu tôi có thể nhưng vẫn còn mới trên serverfault
Ted Karmel
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.