gpt4 book ai didi

apache - 从 apache 到 IIS 的反向代理总是失败并显示 404

转载 作者:行者123 更新时间:2023-12-02 07:12:05 30 4
gpt4 key购买 nike

我正在尝试设置从 apache 到 IIS 7 服务器的反向代理。

我已经设置了非常基本的代理规则。

<VirtualHost *:443>
ServerName MY_APPACHE_SERVER_NAME
SSLEngine on
SSLProxyEngine on
SSLCertificateFile /etc/ssl/certs/...
SSLCertificateKeyFile /etc/ssl/private/...
SSLCertificateChainFile /etc/ssl/certs/...
SSLProxyCheckPeerCN on
SSLProxyCheckPeerExpire on

ProxyPreserveHost On
ProxyPass / https://MY_IIS_SERVER_NAME/
ProxyPassReverse / https://MY_IIS_SERVER_NAME/
</VirtualHost>

如果我通过代理访问主页,则会收到 404 错误。

在 IIS 服务器端,在 C:\Windows\System32\LogFiles\HTTPERR\httperr.log 文件中,我可以看到传入调用和设置为 404 的响应

2015-03-27 15:07:36 184.73.82.33 42313 10.79.154.81 443 HTTP/1.1 GET / 404 - NotFound -
2015-03-27 15:07:52 184.73.82.33 42314 10.79.154.81 443 HTTP/1.1 GET / 404 - NotFound -

在http响应上我可以看到响应来自IIS服务器服务器:Microsoft-HTTPAPI/2.0

        HTTP/1.1 404 Not Found
Date: Fri, 27 Mar 2015 15:07:52 GMT
Server: Microsoft-HTTPAPI/2.0
Content-Type: text/html; charset=us-ascii
Content-Length: 315
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive

我不明白为什么在访问代理服务器时无法访问我的主页。任何帮助将不胜感激。

谢谢。

最佳答案

发现了我的问题,它是“ProxyPreserveHost On”行。它应该被设置为关闭。

IIS 服务器仅响应 MY_IIS_SERVER_NAME。由于我调用 MY_APPACHE_SERVER_NAME,该名称被转发到 IIS 服务器,而服务器无法识别该名称。因此出现 404 错误。

我的最终 apache 配置如下所示:

<VirtualHost *:443>
ServerName MY_APPACHE_SERVER_NAME
SSLEngine on
SSLProxyEngine on
SSLCertificateFile /etc/ssl/certs/...
SSLCertificateKeyFile /etc/ssl/private/...
SSLCertificateChainFile /etc/ssl/certs/...

ProxyPreserveHost Off
ProxyRequests Off
ProxyPass / https://MY_IIS_SERVER_NAME/
ProxyPassReverse / https://MY_IIS_SERVER_NAME/
</VirtualHost>

关于apache - 从 apache 到 IIS 的反向代理总是失败并显示 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29304146/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com