什么是 Cloudreve
- 是一个网盘程序。具体介绍和帮助,请看 文档。
- 为什么会有这个文章?虽然用户里有用 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/proxy
节点,调整下面的 preserveHostHeader 为 True 后点击右边的 应用 保存更改即可。(微软爬嗷,只把一部分设置放到了 ARR 图形化界面里面算是什么操作??) - 这个设置似乎对 Cloudreve 没什么影响,但是使用 IIS 反代 RSSHub 的时候是必须开启的。
配置反代规则
这是 web.config
文件的内容,将它放在目标网站根目录即可。此样例包括两个规则与一个限制:
- HTTP to HTTPS redirect (强制 HTTPS,需要自行配置 SSL 后才可使用,不使用请删除该 rule)
- Rerwite (反代)
- requestLimits 中的
60000000
为传输文件大小限制,单位 byte,如果您要使用本地存储策略请更改大小为理论最大文件尺寸
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<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:5212/{R:0}" />
</rule>
</rules>
</rewrite>
<security>
<requestFiltering allowDoubleEscaping="true">
<requestLimits maxAllowedContentLength="60000000" />
</requestFiltering>
</security>
</system.webServer>
</configuration>
其它问题
捐赠版 支付宝初始化实列失败
请参考:https://github.com/cloudreve/Cloudreve/issues/496
SQLite 转 MySQL
可以使用 PHPMyAdmin 进行操作,导入时可能会报错,请自行根据错误解决。同时还需要注意时区设置。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。