欢迎来到好人卡资源网,专注网络技术资源收集,我们不仅是网络资源的搬运工,也生产原创资源。寻找资源请留言或关注公众号:烈日下的男人

IIS 反代 Cloudreve 踩坑记录

网站源码 sky995 3年前 (2022-05-04) 905次浏览 0个评论

本文及资源最后更新时间 2022-05-04 by sky995

是一个网盘程序。具体介绍和帮助,请看 文档
为什么会有这个文章?虽然用户里有用 Windows 服务器的,但好像没看到用 IIS 的,所以我把踩到的坑说一下,也给自己留个档。

前提

你已经按文档说明跑起来了 Cloudreve,即用你的浏览器访问 localhost:设置的端口 可以看到网盘界面。此处提前建议数据库用 MySQL,不要图省事用 SQLite,问题有点多。

你已经安装完了 IIS 并添加了一个网站,且是可以通过外网访问的;同时已经安装了 IIS 的 URL Rewrite 和 ARR 模块。

启用 ARR

打开 IIS,进入主页的 Application Request Routing Cache,再进入右边的 Server Proxy Settings…,勾选最上面的 Enable proxy,同时取消勾选下面的 Reverse rewrite host in response headers。点击右边的 应用 保存更改。

如果不取消勾选反向重写主机头,会导致 Cloudreve API 无法返回正确的地址,导致无法预览图片视频等。

调整上传大小限制

打开 IIS,进入主页最下面的 配置编辑器 (Configuration Editor),转到 system.webServer/security/requestFiltering 节点,调整下面的 requestLimits -> maxAllowedContentLength 为你希望的理论最大文件值 (单位 byte) 后点击右边的 应用 保存更改即可。

如果需要对网站进行限流,可以通过右击你的站点 -> 管理网站 -> 高级设置 里设置 Limit。

保留主机头

打开 IIS,进入主页最下面的 配置编辑器 (Configuration Editor),转到 system.webServer/proxy 节点,调整下面的 preserveHostHeader 为 True 后点击右边的 应用 保存更改即可。(微软爬嗷,只把一部分设置放到了 ARR 图形化界面里面算是什么操作??)

这个设置似乎对 Cloudreve 没什么影响,但是使用 IIS 反代 RSSHub 的时候是必须开启的。

配置反代规则

这是 web.config 文件的内容,包括了两个规则:强制 HTTPS 和 反代。请根据你的需求使用,同时记得更改反代地址的端口号为你实际设置的。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <clear />
                <rule name="HTTP to HTTPS redirect" stopProcessing="true">
                    <match url=".*" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                        <add input="{HTTPS}" pattern="off" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}/{R:0}" redirectType="Permanent" />
                </rule>
                <rule name="Rerwite" stopProcessing="true">
                    <match url=".*" />
                    <conditions logicalGrouping="MatchAny" trackAllCaptures="false">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="http://localhost:1300/{R:0}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

其它问题

捐赠版 支付宝初始化实列失败
SQLite 转 MySQL
请参考:https://forum.cloudreve.org/d/1460
可以使用 PHPMyAdmin 进行操作,导入时可能会报错,请自行根据错误解决。同时还需要注意时区设置。

好人卡资源网 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:IIS 反代 Cloudreve 踩坑记录
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址