我有一个在localhost:3000上运行的Bottle / Python应用程序,我正在使用Apache mod_proxy来转发请求。它的工作时间是99%,除非我尝试去网址:
(基本上,有一个URL是URL的一部分,但它是通过encodeURIComponent运行的)。在这种情况下,Apache将返回自己的404页面,而不是将url传递给后端服务器。
我的apache配置如下:
<VirtualHost *:80>
ServerName m2t.openseedbox.com
ProxyPass / http://127.0.0.1:3000/ retry=0
ProxyPassReverse / http://127.0.0.1:3000/
ProxyPreserveHost On
</VirtualHost>
为什么Apache不代理此URL? (您可以自己访问它以查看应该有一个Bottle页面的Apache 404页面)
编辑:我通过将URL作为GET参数传递来解决它。我仍然不知道为什么Apache不像宣传那样工作......
答案 0 :(得分:2)
默认情况下,Apache不会传递包含%2F的网址。有关详细信息,请参阅以下链接。
%2F in URL breaks and does not reference to the .php file required