NGINX - einfacher Reverse Proxy

378
WernerCD

TLDR: Ich versuche, eine Web-App über Nginx umzukehren, und es passiert nicht so, wie es sollte.

Nginx

server { listen 80; server_name dns.example.com; access_log logs/dns.access.log main;  index index.php index.html;  location / { root /var/www/com.example.dns; proxy_pass http://192.168.1.30:5380; } } 

Docker: https://hub.docker.com/r/jpillora/dnsmasq/~/dockerfile/

Anwendung: https://github.com/jpillora/webproc

Wenn ich mich direkt verbinde ( http: //localnetwork.lan: 5380 ), funktioniert es wie ein Zauber. Wenn ich mich über den Reverse Proxy ( http://dns.example.com/ ) verbinde, werden die Bilder angezeigt, nicht jedoch die aktiven Teile.

Was vermisse ich? Wie kann ich die Anwendung als Proxy übergeben?

0
Einer der HTTP-Endpunkte ist anscheinend ein Websocket. Möglicherweise müssen Sie dafür Nginx konfigurieren. Überprüfen Sie die Browserkonsole, um mehr über die Fehler zu erfahren. Daniel B vor 6 Jahren 1

2 Antworten auf die Frage

1
Gerard H. Pille

Fügen Sie eine error_log-Direktive hinzu, damit nginx Ihnen sagen kann, was falsch ist. Stellen Sie sicher, dass das ngx_http_proxy_module aktiviert ist.

0
WernerCD

Daniels Kommentar brachte mich in die richtige Richtung: Websockets und "Upgrade" auf 1.1

https://www.nginx.com/blog/websocket-nginx/

location /wsapp/ { proxy_pass http://wsbackend; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; }