您好我的应用程序正在使用来自谷歌的recaptcha,并且只在nginx上提供时它可以正常工作。现在我们已经设置了一切在aws上的负载均衡器后面工作,它给出了无效的响应,用户无法注册。
任何人都有建议为什么会这样?
答案 0 :(得分:0)
您必须启用代理协议设置才能获取客户端的IP和粘性会话,以便应用程序知道会话已经过验证并返回到同一个应用服务器。
代理协议是一种Internet协议,用于从请求连接的源传送连接到请求连接的目标的连接信息。 Elastic Load Balancing使用代理协议版本1,它使用人类可读的标头格式。
默认情况下,当您对前端和后端连接使用传输控制协议(TCP)时,Classic Load Balancer会将请求转发给实例,而不会修改请求标头。如果启用代理协议,则会在请求标头中添加一个人类可读的标头,其中包含源IP地址,目标IP地址和端口号等连接信息。然后,标头将作为请求的一部分发送到实例。
http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-proxy-protocol.html
http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html