前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >IIS 反向代理 Tomcat中的网站

IIS 反向代理 Tomcat中的网站

作者头像
码客说
发布2019-10-22 14:33:32
2.7K0
发布2019-10-22 14:33:32
举报
文章被收录于专栏:码客码客

前言

之前说过用ApacheNginx做代理来访问Tomcat中的项目. 现在因工作需要 只能用IIS作为Web服务器来把请求转发到Tomcat

我现在知道的共有四种实现方式

  • 使用isapi_redirect.dll实现
  • Weblogic的插件包中的iisforward.dlliisproxy.dll来实现
  • ARR(Application Request Routing)
  • HttpPlatformHandler

我最终使用的是第三种方式 下面说一下各个方式的优缺点

  • 第一种方式需要修改注册表(网上说的也可以不用添加注册表 我通过这种方式没有成功)
  • 第二种方式 新版本的Weblogic的插件包中不包含iisforward.dll
  • 第三种只支持IIS7以上
  • 第四种 相当于 Tomcat由IIS托管 不但要配置IIS 还有修改Tomcat的默认配置 所以不建议

安装软件

在Win10以下的系统中直接在官网下载ARRMicrosoft URL 重写模块 2.0 安装就可以了

但是 他要求的IIS7以上 却不能识别Win10上的IIS10 但其实是能用的 这里放出我修改过的安装包ARRMicrosoft URL 重写模块 2.0

安装之后重启iis

代码语言:javascript
复制
iisreset

配置

安装完成后 在服务器级别的功能试图中 会多出两项

  • Application Request Routing
  • URL重写

网站级别的功能试图中 会多一项

  • URL重写

点击 Application Request Routing后 点击右边的Server Proxy Settings 勾选Enable proxy后 点击右侧的应用

点击项目级别的功能试图中的URL重写

首先需要知道的是 IIS不能配置如Apache中的ProxyPassReverseCookiePath /yxemail /来矫正Cookie的路径 所以IIS配置反向代理的时候就不能带项目名 带项目名就会导致Session失效 也就是说IIS做反向代理 又要考虑Session 就必须去掉Tomcat中项目访问链接中的项目名 Tomcat中要配置一个HOST IIS中要配置URL地址的入站规则HTTP响应头或内容的出站规则

配置Tomcat

代码语言:javascript
复制
<Host name="www.aaa.com"  appBase="C:/Program Files/Tomcat 7.0/webapps_me" unpackWARs="true" autoDeploy="true">  
	<Context path="" docBase="yxemail" debug="0"/>  
</Host>

需要注意的是 appBase一定要换一个路径 因为每个HostappBase中的项目 在Tomcat启动时会重新加载 所以多个Host中的appBase一样的话 就会导致一个项目被加载多遍

这样 网站目前可以用www.aaa.com:8080访问

配置IIS

添加一个网站 主机名设置为www.aaa.com 端口80

点击 URL重写

入站规则

添加规则 选择入站规则中的空白规则

设置项名称

设置项内容

名称

随便写

模式

(.*)

条件

{SERVER_PORT}设置为80{HTTP_HOST}设置为www.aaa.com

重写URL

http://www.aaa.com:8080/{R:0}

出站规则

所谓的出站规则就是返回的html内容根据规则替换里面的url

添加规则 选择出站规则中的空白规则

设置项名称

设置项内容

名称

随便写

匹配范围

响应

匹配一下范围中的内容

除自定义外全选

模式

(.):8080/(.)

操作类型

重写

操作属性

http://www.aaa.com/{R:2}

这样的话就能用www.aaa.com来访问www.aaa.com:8080的网站了

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-12-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 安装软件
  • 配置
    • 配置Tomcat
      • 配置IIS
        • 入站规则
        • 出站规则
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档