解决Heimdall在nginx反代下页面出错的问题

2022-06-20 21:30:59 3点赞 19收藏 25评论

我在unraid下安装了启动页Heimdall,通过nginx proxy manager进行反代后,通过域名访问页面会出问题,如图所示:

页面显示不全页面显示不全

经我一个下午的摸鱼探索,终于找到了解决方法:

1. 找到heimdall的.env文件

通过各种方式(命令行、文件共享、winscp等都行),打开heimdall的config目录下的heimdall/www/.env文件。这个.env文件是隐藏文件,名字就是“.env”。我以我的unraid做例子,用winscp打开heimdall的www目录。我的目录是/mnt/user/appdata/heimdall/www,具体目录地址以你们映射的为准。

.env文件是隐藏的,winscp要打开显示隐藏文件.env文件是隐藏的,winscp要打开显示隐藏文件

2.修改.env文件

双击.env文件进行修改,把APP_URL=http://localhost修改为APP_URL=https://你的域名。 例如你的域名是heimdall.yourdomain.com,那就改为APP_URL=http://ww38.heimdall.yourdomain.com/。

这里要注意2点:

1. 是http还是https要以你实际情况为准,我是SSL访问,写的是https。

2. 如果你是端口映射,访问需要带端口号的话,地址后面还必须带上端口号。例如http://ww38.heimdall.yourdomain.com/:8888

看红线看红线

3. 重启heimdall容器

重启容器即可。如果heimdall的端口号变了,记得回来这里修改。

缺点:

1.这样域名访问没问题了,但ip访问就不行了。网上也有人说是新版nginx的问题,版本回退应该也能解决(回退至版本2.9.13)。我没测试过,大家也可以测试一下。

2. 群晖的反代没有这个问题,但我还是想让nginx管理所有反代,就不搞两个反代程序了。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

1899元起

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

2499元起

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

1749元起

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

3499元起

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

2799元起

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

2699元起

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

2849元起

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

5899元起

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

1999元起

ASUS 华硕 AS6702T 4盘位NAS存储 黑色(Core2 Quad Q8300、4GB)

ASUS 华硕 AS6702T 4盘位NAS存储 黑色(Core2 Quad Q8300、4GB)

4299元起

TERRAMASTER 铁威马 F4-424 Pro 四盘位NAS(Intel Core i3、32GB)黑色

TERRAMASTER 铁威马 F4-424 Pro 四盘位NAS(Intel Core i3、32GB)黑色

2499元起

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

3299元起

UGREEN 绿联 DH2600 双盘位NAS (N5105、4GB)

UGREEN 绿联 DH2600 双盘位NAS (N5105、4GB)

1349元起

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

2179元起

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

2190.84元起

sgwbox 拾光坞 N3 星光版V1(瑞芯微RK3566,2G,支持docker)

sgwbox 拾光坞 N3 星光版V1(瑞芯微RK3566,2G,支持docker)

385.78元起
25评论

  • 精彩
  • 最新
  • 文章里的网址被系统自动添加了“ww38”,参考时记得无视即可。

    校验提示文案

    提交
    这个问题困扰我很久了,以前外网访问heimdall一直用的是群晖自带的域名加端口号。按作者的方法实测搞定!非常感谢楼主。不过我改好以后,本地端口也可以访问。Heimdall版本号是2.4.13

    校验提示文案

    提交
    好用就行。我还有另外一种更好的解决方法,写在评论区了。

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 我是作者。另外一种解决方法是在NPM里的custom locations添加一个header,内容为:proxy_set_header X-Forwarded-Host $http_host;
    这样也行,而且域名访问和内网ip访问都可用。

    校验提示文案

    提交
    请教,NPM里添加header应该怎么操作,我是Docker方式的,谢谢 [示爱] [示爱] [示爱]

    校验提示文案

    提交
    在NPM设置反向代理页面(proxy hosts),修改你的heimadall反代设置。在edit proxy host页面下有custom locations,选择add location。location里填“/”(就一个斜杠),点击隔壁的齿轮,在下面框框里添加proxy_set_header X-Forwarded-Host $http_host; 。剩下的scheme(http)、IP(内网地址)、forward port(一般是80)按照你实际情况来填就行。

    校验提示文案

    提交
    还有15条回复
    收起所有回复
  • 非常有用,我刚部署完就是有这个问题

    校验提示文案

    提交
  • 作者评论的方法亲测有效,NPM反代unRAID好像也是类似的情况。

    校验提示文案

    提交
  • 大佬,请问npm反代unraid也有这种问题,按照你的这个方法在unraid反代添加之后,还是不行,请问大佬是怎么解决的啊

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
19
扫一下,分享更方便,购买更轻松