Vraag Nginx Config: Front-End Reverse Proxy naar een andere poort


Ik heb een kleine webserver die verzoeken op poort 5010 serveert in plaats van 80.

Ik zou graag nginx gebruiken als een front-end proxy om verzoeken op poort 80 te ontvangen en die verzoeken dan te laten behandelen door poort 5010.

Ik heb nginx met succes geïnstalleerd en het werkt soepel op Ubuntu Karmic.

Maar mijn pogingen om het standaard nginx.conf opnieuw te configureren, zijn niet succesvol geweest.

Ik probeerde inclusief het in de serverrichtlijn opnemen van het luisterargument voor poort 5010.

Ik heb ook proxy_pass-richtlijn geprobeerd.

Eventuele suggesties voor wijzigingen die moeten worden aangebracht of richtlijnen die moeten worden ingesteld om alleen port forwarding te hebben.


20
2017-08-18 02:49


oorsprong




antwoorden:


Ik ga ervan uit dat nginx niet de server is die zowel op poort 5010 als op 80 luistert, klopt dat? Er luistert nog iets op 5010 en je wilt een nginx proxy naar die server?

Als dat het geval is, is hier een mooie voorbeeldconfiguratie die ik in het verleden met succes heb gebruikt:

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

Ik geloof dat dat moet bereiken wat je zoekt. Succes!


21
2017-08-18 03:01



dit werkt niet op macOS brew nginx. U moet een http {} block surrounding server toevoegen, anders: nginx: [emerg] "server" -richtlijn is hier niet toegestaan - muenalan


Vrij minimalistisch - Ik heb de proxy-instellingen standaard gelaten, hoewel je er misschien naar wilt kijken om je aan te passen aan je behoeften.

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

        }
    }
}

11
2017-08-18 03:01



Tyler - je minimale oplossing is goed. Dat is wat ik wilde. Zou u punten geven als ik kon, maar nog steeds nieuw op de server - Ted Karmel