微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AJAX / SSL / X – 转发,对于

好的,我正在使用笔进行负载平衡.我的apache服务器将远程IP视为负载均衡器的IP.我需要apache服务器能够出于各种原因查看客户端的IP地址.我可以使用X-Forwarded-For从非加密页面获取它,但它不是SSL页面的一部分……

所以,不知道Ajax,我在想.我可以使用ajax从非加密页面中拉出X-Forwarded-For,并将其设置为客户端的变量吗?我知道这是可能的,我只是想知道是否有人这样做了,这是否会导致浏览器出现安全错误.

我认为我可以将它们重定向到非ssl页面,然后将IP放入cookie中,然后返回到SSL页面,但我认为这也很糟糕.

无论如何,获取ip到脚本的其他方式也将起作用.我尝试了http://stderr.net/apache/rpaf/,但它也不知道IP.

解决方法

AJAX受同源策略的限制,不同的协议被认为是不同的来源,因此您无法从HTTPS页面发出HTTP AJAX请求.

尝试通过其他方式进行此操作可能会导致浏览器警告混合的安全和不安全的内容.

将IP放在HTTP页面上的cookie中(理想情况下签名或存储在cookie引用的服务器端会话中)可行,但它不如读取SSL会话的实际IP安全(因为攻击者可以操纵HTTP cookie,而你无法设置仅HTTPS的cookie).

一个解决方案是在负载均衡器处结束SSL并将其作为HTTP流量转发给Apache.

另一种方法是使用较低级别的负载平衡 – NAT – 保留源地址.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐