Nginx Config: Başka Bir Bağlantı Noktasına Ön Uç Ters Proxy


22

80 yerine 5010 numaralı bağlantı noktasında istekleri karşılayan küçük bir web sunucum var.

Nginx'i 80 numaralı bağlantı noktasından istek almak için ön uç proxy olarak kullanmak ve ardından bu isteklerin 5010 numaralı bağlantı noktası tarafından işlenmesini sağlamak istiyorum.

Nginx'i başarıyla yükledim ve Ubuntu Karmic ile sorunsuz bir şekilde çalışıyor.

Ancak, varsayılan nginx.conf dosyasını yeniden yapılandırma girişimlerim başarılı olamadı.

Sunucu yönergesine 5010 numaralı bağlantı noktasının dinleme bağımsız değişkenini dahil etmeyi denedim.

Ayrıca proxy_pass yönergesini de denedim.

Sadece liman yönlendirme yapabilmek için yapılması gereken değişikliklerle ilgili öneriler veya yapılması gereken yönergeler.

Yanıtlar:


22

Nginx'in 5010 ve 8010 nolu bağlantı noktasını dinleyen sunucu olmadığını kabul ediyorum, doğru mu? 5010'da başka bir şey dinliyor ve bu sunucuya nginx proxy'si olmasını ister misiniz?

Bu durumda, geçmişte başarılı bir şekilde kullandığım güzel bir örnek yapılandırma:

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

Aradığın şeyi başarması gerektiğine inanıyorum. İyi şanslar!


Bu macOS demlemek nginx üzerinde çalışmıyor. Aksi takdirde, bir http {} blokunu çevreleyen sunucuyu eklemelisiniz, aksi takdirde: nginx: [emerg] "server" direktifine burada izin verilmez
muenalan

13

Oldukça minimalist - Proxy ayarlarınızı varsayılan olarak bıraktım, ancak ihtiyaçlarınıza göre ayarlamak isteyebilirsiniz.

# 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 - minimal çözümün iyi. İstediğim şey buydu.
Serverfault
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.