【IIS反向代理】【使用已配置SSL证书的IIS进行URL重定向到Flask网站】【小白指南】IIS部署完整教程
前言:
上一篇文章讲了 【如何在Windows Server服务器上部署Flask网站和SSL证书开启HTTPS】部署flask网站。因为笔者手头上已经有一个正在运行的Windows Server 服务器,上面已经部署了IIS服务以及配套的SSL证书服务,我想最大化地利用这个SSL证书(毕竟现在免费证书有效期缩短到了3个月),所以我使用【IIS重定向】的方式来给Flask网站配置上Https访问。
整体步骤:
搭配 IIS 作为反向代理
如果需要处理静态文件、SSL 证书或域名绑定,可使用 Windows 自带的 IIS 作为反向代理:
安装 IIS:
通过「服务器管理器 → 添加角色和功能」安装 IIS 服务器 (省略)
配置反向代理:
在 IIS 中创建网站,绑定域名和端口(如 80)
安装「Application Request Routing」模块和URL重写模块
配置 URL 重写规则,将请求转发到 http://127.0.0.1:8000
首先是准备工具:
如果你不想折腾,在服务器上直接用命令行下载也是可以的,地址我直接放出来:
rewrite_amd64_zh-CN.msi
requestRouter_amd64.msi
1:下载 ARR模块
从微软官方下载中心下载适合 Windows Server 2012 的版本:
下载地址:Application Request Routing 3.0
(页面中找到 arr_setup_amd64.exe 或对应系统的版本,64 位系统选择 amd64 版本)
我的是:requestRouter_amd64.msi
拉到页面最下面,有一行蓝色的字就是下载连接。
2:下载【URL重写】模块
ARR 依赖 IIS 的「URL 重写」模块,需先安装:
下载「URL 重写」模块:URL Rewrite 2.0
运行安装包(如 rewrite_amd64.msi),按向导完成安装。
我的是:rewrite_amd64_zh-CN.msi,注意有很多语言可以选,选倒数第二个是中文。Simple开头的那行(简体中文)的英文单词。。。。
3:重启IIS服务
完成安装后,重启 IIS 服务(可在「服务」中重启 World Wide Web Publishing Service)
在左侧导航栏中选择服务器名称,右侧「功能视图」中若能看到「Application Request Routing Cache」图标,说明安装成功。(如上图)
4:填写反向代理规则:
打开「Application Request Routing Cache」→ 点击右侧操作」中的「服务器代理设置」。
勾选「启用代理代理」,点击「应用」。
回到网站配置界面,选择你的网站 → 打开「URL 重写」→ 点击「添加规则」→ 选择「空白规则」。
4:配置规则:
名称:如 Proxy to Flask
匹配 URL:
请求的 URL:选择「与模式匹配」
模式:(.*)(匹配所有路径)
操作:
操作类型:选择「重写」
重写 URL:http://127.0.0.1:8000/{R:1}(转发到 Flask 应用的端口,{R:1} 保留原始路径)
点击「应用」保存规则。
完成后,IIS 会将收到的请求反向代理到本地的 Flask 应用(http://127.0.0.1:8000),可通过 IIS 绑定域名和 SSL 证书,实现更灵活的 HTTPS 配置和静态文件处理。
运行程序:
python run.py 或者使用start_app.bat
访问地址:
https://域名 或者https://域名:端口
我成功访问flask网站。你呢?