我在docker容器中运行gunicorn flask服务,并使用Google容器引擎。我在下面的教程中设置了集群http://kubernetes.io/docs/hellonode/
REMOTE_ADDR
环境变量在Kubernetes集群中始终包含一个内部地址。我要找的是HTTP_X_FORWARDED_for,但请求头中缺少它。是否可以将服务配置为在请求中保留外部客户端ip?
我假设您通过将服务的类型设置为LoadBalancer
?不幸的是,由于客户端IP丢失,目前传入的网络负载平衡数据包通过Kubernetes路由的方式受到了限制。
您可以设置一个ingres
对象,将您的服务与Google Cloud HTTP(s)负载平衡器集成,从而将X-Forwarded-For头添加到传入请求中,而不是使用服务的LoadBalancer
类型。
如果有人被困在这个问题上,有更好的方法。根据kubernetes版本,您可以使用以下注释:
service.spec.externalTrafficPolicy: Local
1.7
或
service.beta.kubernetes.io/external-traffic: OnlyLocal
on 1.5-1.6
在此之前不支持
资料来源:https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/
请注意,这里有一些警告:https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#caveats-以及保留源IP时的限制
问题内容: 我无法在Google Container Engine中使用“应用程序默认凭据”。这些文档说,它们是为App Engine和Compute Engine设计的,但是有人告诉我,它们应该透明地传递给在Container Engine上运行的容器。 这是失败的代码: 失败的错误: 期望Application Default Credentials与Container Engine一起使用是
当浏览器请求网页时,它会向 Web 服务器发送特定信息,这些信息不能被直接读取,因为这些信息是作为 HTTP 请求的头的一部分进行传输的。您可以查看 HTTP 协议 了解更多相关信息。 以下是来自于浏览器端的重要头信息,您可以在 Web 编程中频繁使用: 头信息 描述 Accept 这个头信息指定浏览器或其他客户端可以处理的 MIME 类型。值 image/png 或 image/jpeg 是最常
我正在使用flurl提交HTTP请求,这是非常有用的。现在,我需要将一些请求的“content-type”头更改为“application/json;odata=verbose” 您可以看到我如何尝试添加上面的头() 不幸的是,这给了我以下错误: “InvalidOperationException:错误使用的标头名称。请确保请求标头与HttpRequestMessage一起使用,响应标头与Htt
我在Infinispan上使用Memcached创建了一个分布式集群。 现在,我需要使用SpyMemcach客户端访问我的缓存。 我试过这个: 但是我得到了这个错误: 在我看来,这已经有点令人困惑了。如果通过一台机器我有多个缓存,我的客户会选择哪个缓存??? 非常感谢!
我们正在开发一个IOS应用程序,它使用GoogleSignIn和GoogleAPIClientForREST来获取用户的日历。 正常的流程是客户端用户登录Gmail,然后对其进行授权,然后客户端获得访问令牌,并使用该令牌来请求用户的日历, 现在我们想要这样做,我们的应用程序获取访问令牌,将令牌上传到我们的服务器,然后服务器使用令牌请求用户的日历,最终,我们的服务器将定期使用大量不同用户的访问令牌来
问题内容: 我有一个node.js Connect服务器,用于检查请求的Cookie。为了在节点中测试它,我需要一种写客户端请求并将cookie附加到它的方法。我知道HTTP请求对此具有’cookie’标头,但是我不确定如何设置和发送它- 我还需要在同一请求中发送POST数据,因此我目前正在使用danwrong的restler模块,但似乎没有让我添加该标头。 关于如何使用硬编码的cookie和PO