為什么有這種需求,原因是這樣的,公司有一個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反向代理
總結
以上所述是小編給大家介紹的IIS Tomcat共享80端口的解決方案,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!
新聞熱點
疑難解答
圖片精選