【IIS反向代理】【使用已配置SSL证书的IIS进行URL重定向到Flask网站】【小白指南】IIS部署完整教程

【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网站。你呢?