我在使用apache作为Node JS / Express REST API之上的反向代理时遇到了麻烦。
当我向我正在代理的URL发出PUT请求时,apache似乎以405方法不允许响应而不是将请求转发给服务。我可以毫无问题地发出GET和POST请求。
如果我将请求直接发送到API(http://ip-address:port),一切正常。此外,如果我从服务器本身向域发出请求,它可以正常工作。
API中禁用了CORS。
<VirtualHost example.domain.local:80>
ProxyPreserveHost On
ProxyPass / http://192.168.1.40:9020/
ProxyPassReverse / http://192.168.1.40:9020/
</VirtualHost>
当我检查请求时,我可以看到HTTP allow标头设置为GET,HEAD,POST,OPTIONS,TRACE。所以我尝试用虚拟主机指令中的指令更改它。
<Proxy "*">
Order deny,allow
Allow from all
AllowMethods GET PUT DELETE POST
</Proxy>
但没有变化。我也在Proxy指令中尝试了LimitExcept指令,但这并没有什么区别。
我还浏览了所有的httpd.conf,但没有看到任何可疑的配置。
我完全陷入困境,有人熟悉这类问题吗?