如何在IIS 10中配置URL重写规则移除URL的8080端口并跳转HTTPS
IIS 8080端口IPFS请求重定向配置方案
核心配置思路
新增的URL重写规则需要放在你现有两条规则(HTTP转HTTPS、非www转www)的最顶部,避免被其他规则提前匹配导致跳转逻辑异常,规则核心逻辑:
- 仅匹配访问端口为8080、路径以
/ipfs/开头的请求 - 重定向时强制使用HTTPS协议、保留www域名、去掉8080端口、原IPFS路径和查询参数完全保留
- 匹配到规则后直接终止后续规则执行,减少不必要的多次跳转
具体配置实现
方法1:直接编辑web.config(效率最高)
找到站点根目录下的web.config文件,在<system.webServer>→<rewrite>→<rules>节点的最开头插入以下规则代码:
<rule name="IPFS 8080端口跳转HTTPS标准端口" stopProcessing="true"> <match url="^ipfs/(.*)$" ignoreCase="true" /> <conditions logicalGrouping="MatchAll"> <add input="{SERVER_PORT}" pattern="^8080$" /> </conditions> <action type="Redirect" url="https://www.mywebsite.com/ipfs/{R:1}" appendQueryString="true" redirectType="Permanent" /> </rule>
规则参数说明:
^ipfs/(.*)$:正则匹配所有/ipfs/开头的路径,自动捕获{IpfsHash}部分存入分组{R:1}- 条件项限定仅8080端口的请求触发规则,不会干扰80/443端口的正常业务请求
appendQueryString="true":自动保留原URL携带的所有查询参数redirectType="Permanent":返回301永久重定向状态码,兼顾SEO和访问性能,测试阶段可以先改成Found(302临时重定向)避免浏览器强缓存影响调试
方法2:IIS管理器可视化配置
如果不想直接修改配置文件,可以按以下步骤在IIS界面操作:
- 打开IIS管理器,选中目标站点,双击进入「URL重写」功能面板
- 右侧操作栏点击「添加规则」,选择「空白规则」后确认
- 填写规则名称(可自定义),按以下参数配置匹配项:
- 请求的URL:选择「与模式匹配」
- 匹配规则类型:选择「正则表达式」
- 模式:填写
^ipfs/(.*)$ - 勾选「忽略大小写」
- 条件栏点击「添加」,新增端口匹配条件:
- 条件输入:填写
{SERVER_PORT} - 匹配规则:选择「与模式匹配」
- 模式:填写
^8080$ - 确认保存条件
- 条件输入:填写
- 操作栏按以下参数配置:
- 操作类型:选择「重定向」
- 重定向URL:填写
https://www.mywebsite.com/ipfs/{R:1} - 勾选「附加查询字符串」
- 重定向类型:测试阶段选「临时(302)」,验证无误后改为「永久(301)」
- 右侧操作栏点击「应用」保存规则,回到规则列表,将新增的规则拖动到所有现有规则的最顶部。
注意事项
- 测试阶段建议先用302临时重定向,避免301永久重定向被浏览器本地强缓存,导致配置修改后无法即时看到效果,验证全部正常后再切换为301
- 重定向规则生效后,IPFS请求会走443标准HTTPS端口,需要额外给站点配置
/ipfs路径的反向代理规则,将该路径下的请求转发到本地127.0.0.1:8080的IPFS服务,否则重定向后的地址会返回404错误 - 验证跳转逻辑可以用curl命令快速检测:
curl -I http://www.mywebsite.com:8080/ipfs/你的测试Hash,查看返回头里的Location字段是否为目标HTTPS地址即可。
内容的提问来源于stack exchange,提问作者faremax
相关产品推荐
相关产品推荐

