记录:在windows部署Alist开启反代并在Header传递Host

Posted on 2024-03-10  889 Views


如上图配置重写URL规则。R:1为一正则表达式,表示匹配到的第一个字符串。

网站可正常访问,但在点击下载后,链接变成了http://localhost:5244/path/to/file ,无法正常下载文件。经查询,须在Header中传递实际访问的Host信息(包含HOST和端口号),详见下官方文档和相关ISSUE。

https://alist.nn.ci/zh/guide/install/reverse-proxy.html

但并无相关在IIS中配置的教程。经检索,记录如下。

传递Header的原理是在请求Header中添加X-Forwarded-HOST。网上nginx的配置教程有很多。我们如法炮制在IIS中传递。参考:https://stackoverflow.com/questions/14841986/iis-aar-url-rewrite-for-reverse-proxy-how-to-send-http-host

在IIS的GUI界面,选择配置编辑器,设置preserve Host Header为True

在服务器变量里添加HTTP_HOST,在URL重写里添加名称为Host,值为HTTP_HOST的条目。

测试正常工作

最后,珍爱生命,大家用什么就用什么,大家在哪里部署就在哪里部署,远离IIS((。