我在 Windows 2008 上使用 Apache httpd 2.2.15 作为某些 Web 应用程序前端的反向代理。在使用该应用程序时,如果用户输入以下文本,则 HTTP 连接会关闭且不会有任何响应,并且请求实际上不会转发到后端应用程序。Apache 访问或错误日志中也没有该请求的证据。
INSERT INTO business_parameter bp
SELECT *
FROM business fund
请注意,如果用户从文本中删除“bp”并使用以下内容,则不会发生此问题:
INSERT INTO business_parameter
SELECT *
FROM business fund
此外,如果用户将其浏览器直接连接到后端应用程序(绕过反向代理),则不会出现此问题。
以下是具有反向代理的虚拟服务器的配置:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "D:/Apache2.2/htdocs-qvjira101"
ServerName qvjira101.office.qvalent.com
ServerAlias qvjira101
ErrorLog logs/qvjira101-error.log
CustomLog "|D:/Apache2.2/bin/rotatelogs.exe D:/Apache2.2/logs/qvjira101-access.log 86400" common
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://localhost:9080/
ProxyPassReverse / http://localhost:9080/
<Directory "D:/Apache2.2/htdocs-qvjira101">
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
此问题出现在来自不同供应商的多个后端 Web 应用程序中。绕过 Apache 反向代理时不会发生此问题,这让我相信这是 Apache 的问题。有什么想法吗?