Apache guacamole 使用 nginx SSL 代理调整 RDP 大小

Apache guacamole 使用 nginx SSL 代理调整 RDP 大小

如何使 Guacamole 的 RDP‘显示更新’虚拟通道’选项通过 SSL nginx 反向代理运行?

我已在虚拟机中配置并运行 Apache Guacamole。当我通过 http://guac:8080/ 直接通过 guac 虚拟机访问 RDP 桌面时,桌面会随着浏览器窗口大小的调整而调整大小。

当我访问相同的桌面通过 SSL nginx 反向代理,RDP 桌面调整大小不起作用。

我正在使用推荐的 nginxlocation块:

        location /guac/ {
            proxy_pass http://guac:8080/;
            proxy_buffering off;
            proxy_http_version 1.1;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $http_connection;
            client_max_body_size 1g;
            access_log off;
        }

guac 和 nginx 主机都是 FreeBSD 14.0 vms,但我在 aarch64 Linux VM 中的 docker 容器中运行 guac 和 nginx 也有相同的经历,所以我认为平台与此无关。

为什么调整大小不能通过反向代理进行,我该如何解决这个问题?

答案1

将以下行添加到location上面的块中可以修复此问题。

add_header 'Cache-Control' 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';

添加此行后,RDP 桌面现在在通过 SSL nginx 代理时会根据浏览器的大小调整大小。

我尝试了几个nginx 的许多 proxy_* 选项,但最终都不需要。只需要 Cache-Control 标头。

相关内容