IIS Tomcat共享80端口

为什么有这种需求,

原因是这样的,

公司有一个Java的web项目,在另一台服务器A上,最近老板一时兴起,想把他合并到这台稳定点的服务器B上,服务器B上使用IIS来寄宿asp.net 网站,

怎么办呢,硬着头皮上吧,在网上找各种解决方案:

  • 解决方案一:isapi_redirect

这个方法按照方法试了N次就是没搞定,

  • 解决方案二:IIS反向代理

基本逻辑就是请求来到IIS,IIS根据路由规则把请求转发给Tomcat处理,然后tomcat把响应返回给IIS,

这个方案依然只是IIS独占端口80,看起来的感觉好像是IIS Tomcat共享80端口

需要安装一个IIS插件 下载地址如下 https://www.microsoft.com/web/handlers/webpi.ashx/getinstaller/ARRv3_0.appids

在IIS UI上各种配置之后生成的配置文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="tomcat">
                    <match url="^(.*)" />
                    <conditions>
                        <add input="{HTTP_HOST}" pattern="^www.ahapc.org$" />
                    </conditions>
                    <action type="Rewrite" url="http://localhost:8080/{R:1}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

^(.*) 这个正则表示匹配所有请求,

www.ahapc.org 表示输入匹配,就是说如果你的请求包含www.ahapc.org,则满足了转发条件

http://localhost:8080/{R:1} 表示满足上面的条件之后转发给本地8080去处理,也就是交给本地的Tomcat处理

  • 解决方案三:nginx反向代理
时间: 2024-10-10 20:52:42

IIS Tomcat共享80端口的相关文章

阿里云服务器win2003下iis整合tomcat共享80端口

阿里云服务器win2003下iis整合tomcat共享80端口 很多机器都用tomcat跟IIS部署不同网站.最近买了阿里云的服务器.于是也想玩一下.网上百度了很多方法.但是都有缺陷说的不是很清楚.通过日志查看以及谷歌.尝试了很多方法终于配置OK.         第一.整合环境:Windows Service 2003.JDK1.60.IIS6.0 和tomcat7.0         第二.使用技术:IIS6.0和TOMCAT6.0的默认端口不用改变,使用原有的80和8081(因为本人数据库

收藏:解决其它程序与IIS共享80端口的四个方法

今天写的程序也占用80端口,而 IIS也占用 80端口,我在我的一张网卡上分配了两个IP地址,但是测试发现:只要IIS启动后,我写的程序就无法使用80端口,到网上搜索了一下,终于找到了解决办法: 使用:Httpcfg.exe 方法一:IIS5,多IP下共存,IIS为192.168.0.1,apache为192.168.0.2c:\Inetpub\Adminscriptscscript adsutil.vbs set w3svc/disablesocketpooling true该命令反馈如下di

IIS7和Tomcat7整合,即IIS7和Tomcat共用80端口

IIS7和Tomcat7整合,即IIS7和Tomcat共用80端口 背景: 最近公司有一个项目要上线,需要用到iis和tomcat整合,共用80端口.由于公司的数据都非常重要,只通过端口映射到外网的80端口,其它端口都不开放. 我部署的环境是Win2008R2_x64, IIS7和JDK1.7.0_51,tomcat7.0.59 一.关闭Windows2008中IE增强的安全配置. 服务器管理器----配置IE ESC----管理员和用户都选择禁用 .如图. 二 .IIS安装 安装: 1.   

apache和tomcat公用80端口

原理主要利用apache的代理. 第一步:修改apache的httpd.conf配置文件. 首先,要让apache支持转发也就是做tomcat的代理那么就要先启用apache的代理模块.首先我在Apache\conf目录下面找到httpd.conf文件,用记事本打开该文件找到以下几行代码: #LoadModule proxy_module modules/mod_proxy.so #LoadModule proxy_connect_module modules/mod_proxy_connect

Linux tomcat 配置80端口启动不了情况的解决

配置tomcat为80端口,启动tomcat,发现tomcat无法启动,出现错误: LifecycleException:  Protocol handler initialization failed: java.net.BindException: Permission denied <null>:80 看打印出来的日志是权限不够,后来搜索发现Linux下,root权限才能启动1024以下端口的程序 临时解决办法:采用端口转发,对外开放80端口,通过80端口转发到内部的 tomcat 80

搭建全能服务器(tomcat,IIS,PHP使用80端口共存)

搭建全能服务器 这是一个很常见的场景,要在同一台服务器上部署多种语言开发的程序,并且每种语言处于各种原因要放在不同web容器中去运行,而且都要通过80端向外提供服务,例如:在同一台服务器上部署.net程序,java程序,php程序,都通过80端口向外提供web服务.处于这种场景就只能搭建全能服务器了. 结构图: 大致思路: Apache 端口设置为:80 IIS  所有服务端口都设置为:8081 Tomcat 所有服务端口都设置为:8080 使用apache反向代理功能代理访问本地的IIS(80

tomcat用80端口可以启动,但是浏览器不显示tomcat首页

一.打开运行(ctrl+r)->输入cmd->确定->输入netstat -ano 结果检测到 :80端口被system 占用,如图所示 打开进程发现确实被 PID为 4 的引用程序占用了(system进程(pid=4)占用80端口) 二.解决方案 打开 控制面板->系统和安全->管理工具->Internet 信息服务(IIS)管理器->打开->右键停止  操作如下图所示 这样之后,system进程(pid=4)占用80端口的问题就引刃而解了,至此,80端口

linux下tomcat的80端口被占用的解决办法

故障:网站无法访问 分析:netstat -an查看到大量的80端口进程僵死,重启tomcat.tomcat启动失败,网页依然无法打开. 停止tomcat进程shutdown.sh,停止tomcat后telnet 127.0.0.1 80,发现80端口依然可用.netstat -an|grep 80 查看发现有许多80端口进程在里面,使用kill pid命令终止进程,无用.使用lsof -i :80|grep -v "PID"|awk '{print "kill -9&quo

ubuntu下Tomcat绑定80端口

转载自:https://www.2cto.com/os/201102/84081.html 工作环境迁移到了Ubuntu,很多东西发生了变化,比如原先配置tomcat端口.只需要配置server.xml文件就可以了.但是在Ubuntu下,只修改了server.xml文件后发现无法访问到服务.起初以为是有别的进程占用了80端口,但是通过netstat -an | grep 80后并没有发现有进程在占用80,Google了一下,发现tomcat使用1023以下的端口时需要使用authbind来指定.