IIS+Ngnix+Tomcat 部署网站 用IIS实现反向代理

文中所用到的软件可在此下载。

https://download.csdn.net/download/xingchengaiwei/89733788

1、当我在一台服务器中部署多个网站时遇到了这样的情况,一台Windows Server 2016 服务器上要部署多个APS.NET网站,还需要部署一套Tomcat。Tomcat网站使用的是Ngnix代理,80端口已经被IIS占用了。那么如何才能做到使用网址访问不需要加端口呢?

2、我想过的解决办法。

2.1、(未实现的思路)将IIS占用的80端口解放出来,然后用Ngnix代理映射到每一个IIS的网站。经过一番努力,结果崩了,IIS中的网站也启动不起来了问题如下图。后来是一顿AI搜索解决掉了。首先将该启动的服务启动起来,并设置自动启动。最后是修改一下注册表,开始-运行-regedit,找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP,将

其"Start"的值改为2或3,问题解决了。

2.2、(错误想法)我想过是否可以通过 DNS解析IP+端口的方式来实现,后来AI出只能解析到IP地址,不能指定端口。

2.3、(已实现的路)其实IIS也可以实现反向代理的,但是需要安装​​​​​​​Application Request Routing : The Official Microsoft IIS Site和URL Rewrite : The Official Microsoft IIS Site如下图。

安装ARR 3.0,效果如下图

配置方法如下。

在IIS中创建一个站点,作为代理站点,网址为需要访问的网址

URL Rewrite Module 2.1

配置如下

上图中8098就是Ngnix监听的端口。

还有一种配置方法是,浏览网站所在的文件夹,创建一个web.config文件,配置示例如下。

XML 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
 <system.webServer>
  <rewrite>
   <rules>
    <rule name="tomcat">
     <match url="^(.*)" />
     <conditions>
                        <add input="{HTTP_HOST}" pattern="^bjxingch.com$" />
     </conditions>
     <action type="Rewrite" url="http://localhost:8098/{R:1}" />
    </rule>
   </rules>
  </rewrite>
 </system.webServer>
</configuration>
相关推荐
杨杨杨大侠2 小时前
都能接模型、RAG 和 MCP,Java Agent 框架到底差在哪?
java
Thinker QAQ3 小时前
并发编程(九):BlockingQueue 与 Channel——语言层的原子性、可见性与有序性
java·python·go·并发编程·channel·blockingqueue·message passing
霸道流氓气质4 小时前
RAG 可观测性与生产监控实战:四层遥测模型、五大仪表盘与 OpenTelemetry 全链路追踪的 Java 生产级实现
java·人工智能·python
AOI小白新手上路4 小时前
autodl常用的tar 打包下载(数据集)命令手册:逐段拆解与套用模板
java·大数据·数据库
dishugj6 小时前
系统架构风险点、敏感点和权衡点的概念和区分
java·开发语言
苜蓿muxu6 小时前
常用代码命名规范
java
马优晨6 小时前
JAVA 中 VO 实体类是什么意思,为什么要做这个
java·开发语言·状态模式·java vo·java vo是什么
Baron X7 小时前
Eclipse Temurin 21 (JRE) Alpine 镜像获取、离线导入与推送操作
java·docker·eclipse·temurin
孙浩君7 小时前
我用 Spring Boot + xterm.js 写了个终端风格互动叙事游戏引擎:游戏即文件,上传一个 JSON 就能玩
java