无法让反向代理正常工作。内部反向代理工作得很好。当我尝试从 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;
解决了这个问题