Apache 反向代理阻止请求正文中包含 SQL 的请求

Apache 反向代理阻止请求正文中包含 SQL 的请求

我在 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 的问题。有什么想法吗?

相关内容