IIS反向代理tomcat

由于我的网站是IIS搭建的,而某些项目必须使用Tomcat进行部署,所以就有了这次实践。

主要解决以下问题


问题1:IIS和tomcat的2各网站使用的端口不同,但是希望使用二级域名来访问,而不是通过端口号来访问

问题2:不希望防火墙开放tomcat的接口给外部

准备工作


1、先确保tomcat项目能够正常访问。

比如IIS通常使用的是80端口,tomcat项目使用8080端口。用localhost:8080访问,确保tomcat能正常访问。

2、安装IIS相关插件

https://www.alipan.com/s/Un17qi3Gbg3
提取码: a5b1

2个软件都安装

IIS配置


打开IIS

开启反向代理功能

在IIS左侧网站的根节点下,可以看到有Application Request Routing Cache

image

双击进入,点击右侧栏的Server Proxy Settings进入代理配置

image

勾选EnabkeProxy,并在右侧栏点击应用

image

配置网站url重写

1、创建一个网站,网站的存储位置任意

2、在IIS中选中这个网站,可以看到URL重写功能,双击进入URL重写

image

3、添加新规则(空白规则)

image

如图所示,模式中填入^(.*)

4、填写条件

202510051002

如图所示,添加一个条件,条件输入填入{HTTP_HOST}

模式填入你的目标网址,比如^xxx.xxx.com$,这样如果用户输入了这个网址就会触发。当然这个网址的域名必须开通过解析

5、填入重写URL

202510051012

比如填入tomcat的地址,这里我填入http://localhost:8080/draw/{R:1},它的意思就是跳转到tomcat的draw目录下

其中{R:1}表示用户输入的url后的参数,即xxx.xxx.com后面的字符。但是不是很确定,因为

{R:0}:匹配整个正则表达式的完整内容(整个 URL 中被匹配的部分)。
{R:1}、{R:2}...{R:N}:对应正则表达式中第 1 到第 N 个捕获组(用 () 定义的部分)

6、应用一下

至此IIS就已经完成了反代理和URL重写的功能了

posted @ 2025-10-05 19:38  CodeGize  阅读(18)  评论(0)    收藏  举报
CodeGize的个人博客