IIS同一个端口映射多个服务,(映射java项目)
业务场景
整个域名代理到内部的地址,假如http://172.18.200.128:7070是一个外网址,在IIS配置的站点,请求要求转发到内网http://localhost:8080
安装Application Request Routing,下载 https://www.iis.net/downloads/microsoft/application-request-routing
安装url重写 https://www.iis.net/downloads/microsoft/url-rewrite
1、下载好直接安装两个文件。安装好之后IIS多出两个
2、双击第一个application request routing
3、勾选代理
4、选中网站 双击URL重写
5、添加反向代理规则
6、设置模式、条件、重写
1、全部匹配
^(.*)
2、添加条件
假设向下面的URL地址发送一个请求:https://172.18.200.128/Home/Index?page=1&tid=11,那么这些变量的含义如下:
- QUERY_STRING 服务器变量所包含的是 page=1&tid=11这部分,表示URL的参数字符串
- HTTP_HOST 服务器变量所包含的部分是172.18.200.128,表示所请求的主机
- SERVER_PORT 服务器变量所包含的部分是 80,表示服务器的端口
- SERVER_PORT_SECURE 服务器变量所包含的部分是0,HTTPS请求为OFF,表示接受请求的服务器端口是否为安全端口时,是为1,否则为0,一般来说如果是HTTPS请求则为安全端口,即为1,HTTPS为ON。
- REQUEST_URI 服务器变量所包含的部分是/Home/Index?page=1&tid=11,就是除了主机域名外剩下的URL地址字符串和参数字符串。
3、 重写
http://172.18.200.128:8080/{C:1}
上面 匹配url 比如 http://172.18.200.128:7070/api/getxxx 会重定向到内网 http://172.18.200.128:8080/getxxx