iis - 有人可以告诉我请求是如何在以下 IIS-Tomcat isapiredirect(2.0) 配置中路由的吗?

标签 iis tomcat isapi-redirect

我有以下设置:

1。 Tomcat 服务器.xml

<Server port="8005" shutdown="SHUTDOWN">

<Service name="Catalina">

<Connector port="8080"
maxHttpHeaderSize="8192" maxThreads="150" 
minSpareThreads="25" maxSpareThreads="75" 
useBodyEncodingForURI="true" enableLookups="false" 
redirectPort="8443" acceptCount="100" 
connectionTimeout="20000" disableUploadTimeout="true" />

<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />

<Connector port="8009" 
enableLookups="false" redirectPort="8443" 
protocol="AJP/1.3" />

2。 worker .属性

[channel.socket:localhost:8009]
info=Ajp13 worker, connects to tomcat instance using AJP 1.3 protocol
tomcatId=localhost:8009

3。 IIS

Has a website with port 80 that have isapiredirect filter enabled.

我最初的客人是 “端口 HTTP80->HTTP8009->HTTPS8443” “端口 HTTP8080->HTTP8443”

最佳答案

您的 AJP 连接器 (8009) 不是 HTTP,它使用 AJP 协议(protocol)

如果客户端通过 IIS 连接,流程将是

IIS Http80 -> Tomcat AJP 8009 或通过 Https IIS Https443 -> Tomcat AJP 8009

据我所知 AJP13 协议(protocol)不支持 IIS 与 Tomcat 通信中涉及的数据加密,但您可以设置一个参数让 tomcat 知道前端 Web 服务器是 HTTPS,以便 request.isSecure() 返回 true .

只有当您直接连接到 tomcat 时,才会使用您在 tomcat 上的 8080/8443 上的连接器。

关于iis - 有人可以告诉我请求是如何在以下 IIS-Tomcat isapiredirect(2.0) 配置中路由的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9090665/

相关文章:

asp.net - IIS中ASP.net应用程序的单独应用程序池

asp.net - 如何在 Kerberos 中 "un-impersonate"(取消委托(delegate)?)

azure - 如何在 Azure Web App 中设置自定义 json IIS 错误消息

java - Tomcat: "webapps/"文件夹和 "webapps/ROOT/"文件夹之间的区别

ASP.NET 开发服务器还是本地主机 IIS?

java - 添加证书到 cacerts 仍然是 "unable to find valid certification path to requested target"

c++ - 托管 C++ 查找和替换语法

java - 通过 IIS 通过 ISAPI 或 URL 重写公开 Java Web 应用程序

IIS -> Isapi_Redirect -> Tomcat

tomcat - tomcat 线程 "PoolCleaner[{a number}]"异常