运行Apache 2.4.6的CentOS 7充当了面向互联网的中心前端Web服务器。因此,它有一些反向代理连接设置。他们都指向其他LAMP并且工作得很好。但是,我有一个IIS服务器运行其中一个.Net / ASP网站,只是不想正确加载。使用Apache下面的配置,IIS网站加载所有的html& css的东西。
<VirtualHost *:80>
SeverName example.com
ProxyRequests Off
ProxyPreserveHost On
ProxyPass /extDirectory/ http://internalserver/internalDirectory/
<Location /extDirectory/ >
ProxyPassReverse http://internalserver/internalDirectory/
Order allow,deny
Allow from all
</Location>
</VirtualHost>
然而,在外部访问网站时,看起来每个此屏幕截图都存在一个sessionID事故:
Apache日志和我从IIS日志中收集的内容没有显示任何错误。我得到的唯一错误是在开发人员工具中使用IE的构建时,即使我已成功登录,也看到“未找到200个授权”。
答案 0 :(得分:1)
我无法使用Apache解决这个问题,因为ASP.Net开发人员已经修复了他们的软件。这是他们的答复和解决方案:
Enterprise创建授权令牌,用于验证进入服务器的每个请求。每个AJAX请求都必须具有有效的身份验证令牌,否则将被拒绝。令牌的一部分是最终用户的IP地址。如果AJAX请求中的IP地址与原始登录请求不同,则令牌验证将失败,并且AJAX请求将被拒绝。 Enterprise v6.5.2通过按以下顺序查找三个特定HTTP标头来确定最终用户的IP地址:HTTP_X_CLUSTER_CLIENT_IP,HTTP_X_FORWARDED_FOR,REMOTE_ADDR。我们认为代理服务器可能正在为AJAX请求发送不同的IP地址,这会导致令牌验证失败并且AJAX请求被拒绝。
打开Enterprise的web.config并在顶部附近添加此行元素下方的这一行:
<add key="USER_HOST_ADDRESS" value="127.0.0.1" />
保存并关闭web.config,然后重新启动IIS。
就是这样。原来是ASP.NET问题而不是Apache。