我们的 proxy_ajp.conf 中有类似下面的指令,它会给我们一个 404。
SSLProxyEngine On
ProxyPass /test https://www.purple.com/test?
ProxyPassReverse /test https://www.purple.com/test?
当我们(最终)删除问号时,它就起作用了。我找不到任何关于问号是保留字符或其他东西的参考。问题是,为什么会发生这种情况?我的猜测是,如果我想包含问号,就需要将其转义。我目前没有测试平台可以尝试(这是我们的生产代理存在问题)。
只是为了好玩(虽然这对问题来说并不重要),最初的意图是在代码中构建查询而不包含问号,一旦我们发现问题是问号,我们现在就会将问号添加到查询的前面。