反向代理不向外部显示内容,但在内部工作

反向代理不向外部显示内容,但在内部工作

无法让反向代理正常工作。内部反向代理工作得很好。当我尝试从 WAN 获取它时,遇到了问题。

这是我所做的:

1)使用 easyengine 设置 NGINX - 正确工作/显示网站

2)使用docker安装的Guacamole Server-正确运行/显示应用程序

3)将 guac 服务器内部反向代理到 IP:192.168.1.31/guac - 正常工作

4)将 guac 服务器反向代理到外部域名:abc.com/guac - 带有正确 HTML 输出的空白页(与内部网站上的 HTML 输出相同)

以下是我在内部 IP 和域名上使用的设置:

location /guac {
    proxy_pass http://10.10.1.3:8080/guacamole/;
    proxy_buffering off;

    # WebSocket support
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";

    proxy_cookie_path /guacamole/ /guac/;


    #access_log off;
    tcp_nodelay on;
    tcp_nopush off;
    sendfile on;
    client_body_buffer_size 10K;

    client_max_body_size 8m;
    client_body_timeout 12;
    keepalive_timeout 15;
    send_timeout 10;
}

我在另一台服务器上进行了此设置,并且运行良好,不确定是什么问题导致了这种情况?另一台服务器上的唯一区别是我手动安装了 letsencrypt + nginx,而不是使用 easyengine 自动生成。

NGINX 错误日志中没有错误。

任何帮助将不胜感激。

谢谢!

EDIT1:这是完整的站点启用配置文件

server {
    server_name abc.com   www.abc.com;


    access_log /var/log/nginx/abc.com.access.log rt_cache; 
    error_log /var/log/nginx/abc.com.error.log;


    root /var/www/abc.com/htdocs;



    index index.php index.html index.htm;


    include common/php.conf;      

    include common/locations.conf;
    include /var/www/abc.com/conf/nginx/*.conf;



    location /guac {
        proxy_pass http://10.10.1.3:8080/guacamole/;
        proxy_buffering off;

    # WebSocket support
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";

    proxy_cookie_path /guacamole/ /guac/;


    #access_log off;
    tcp_nodelay on;
    tcp_nopush off;
    sendfile on;
    client_body_buffer_size 10K;

    client_max_body_size 8m;
    client_body_timeout 12;
    keepalive_timeout 15;
    send_timeout 10;

    }

}

这是正常工作的本地 IP 的配置文件

server {
    listen 80 default_server;
    listen [::]:80 default_server;


    root /var/www/html;

    index index.html index.htm index.nginx-debian.html;

    server_name _;

    location / {
        try_files $uri $uri/ =404;
    }


    location /guac {
        proxy_pass http://10.10.1.3:8080/guacamole;
        proxy_buffering off;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_cookie_path /guacamole/ /guac/;


        access_log off;
        tcp_nodelay on;
        tcp_nopush off;
        sendfile on;
        client_body_buffer_size 10K;

        client_max_body_size 8m;
        client_body_timeout 12;
        keepalive_timeout 15;
        send_timeout 10;
    }


}

答案1

不知道为什么,但删除了以下行:

    include common/locations.conf;

解决了这个问题

相关内容