NGINX-简单的反向代理

NGINX-简单的反向代理

TLDR:我正在尝试通过 Nginx 反向代理一个 Web 应用程序,但它并没有按应有的方式通过。

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

码头工人: https://hub.docker.com/r/jpillora/dnsmasq/~/dockerfile/

应用:https://github.com/jpillora/webproc

如果我直接连接(http://本地网络.lan:5380)效果很好。如果我通过反向代理连接(http://dns.example.com/) 图像显示出来,但活动部分不显示。

我遗漏了什么?我该如何通过 proxy_pass 传递应用程序?

答案1

添加 error_log 指令,以便 nginx 可以告诉您哪里出错了。确保 ngx_http_proxy_module 已启用。

答案2

丹尼尔斯的评论让我找到了正确的方向:Websockets 和“升级”到 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";
}

相关内容