我有一个 Tomcat,应用程序正在其上运行,现在我正尝试将 Apache 配置为反向代理。我这样做是因为我想向从一些测试移动设备收到的请求添加一些标头。
这是 httpd.conf 的摘录
<IfModule headers_module>
RequestHeader set uid 123
RequestHeader set X_FORWARDED_PROTO 'https'
</IfModule>
ProxyPass / https://localhost:9002/ Timeout=5400 Keepalive=On
ProxyPassReverse / https://localhost:9002/
Timeout 5400
ProxyTimeout 5400
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
反向代理基本上可以正常工作,但当我尝试提交表单时,我收到以下错误:HTTP Status 403 - Bad or missing CSRF value
。我知道这不是我的应用程序的问题,因为如果我提交相同的表单并直接连接到 Tomcat,它就可以正常工作。我还使用 Firebug 检查了 CSRF 参数是否确实被提交。所以我猜我在配置 Apache 时遗漏了一些东西。
任何帮助都将不胜感激。
答案1
我找到了问题的解决方案:我使用端口 80 上的 HTTP 协议联系 Apache。当我通过端口 443 联系 Apache 时,表单提交就可以正常工作了。