Jrohy/webssh

访问会变成下载是怎么回事

gitiray opened this issue · 9 comments

使用本程序监听5032,然后用HTTP服务反代来绑定域名,结果每次访问域名都会触发下载,文件名为 下载.gz

Jrohy commented

有空我测下

Jrohy commented

不知道你怎么配的,反代软件,我用nginx简单配置了下没问题页面能出现

    map $http_upgrade $connection_upgrade {
        default upgrade;
        '' close;
    }
    server {
        listen       80;
        server_name  域名;
        location / {
            proxy_pass   http://localhost:5032/;
            proxy_set_header Host $host:$server_port;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection  $connection_upgrade;
        }
   }

我用的是 caddy v1,跑起来比较简单方便

http://example.com {
  gzip
  proxy / http://127.0.0.1:5032 {
    websocket
    transparent
  }
}

本来以为是 gzip 导致的压缩,但把这行配置删除之后重启,还是会出现 下载.gz
不升级之前,本程序搭配 caddy 访问正常。
另外这个 下载.gz 实际上就是 index.html,直接改回后缀名可以看到主页源码。

Jrohy commented

caddy的话得自己测试了

您好我测试发现 v1.1.6 是最后一个正常的版本,v1.1.7开始会导致出现这个问题。
看起来应该是1.1.7的更改(静态文件引入方式?)导致。

Jrohy commented

是的换成官方的静态文件引入方式了

Jrohy commented

我试试玩下caddy2(caddy1太旧不考虑)

Jrohy commented

我试了下caddy2 ,都没问题的,配置很简单:

域名:80 {
	reverse_proxy localhost:5032
}

好的,我升级看看,可能是v1过时不兼容了,感谢