Kubernetes和授权标头被剥离

时间:2018-11-12 10:12:37

标签: kubernetes gcloud

项目:

  • 在GCloud的Kubernetes集群上部署登台API(Symfony)
  • 通过其服务(MariaDB,RabbitMQ ...)

问题:

  1. 所有Pod和服务正常启动
  2. 从外部访问API 有问题:
    • 我通过LoadBalancer服务部署了API,并且可以访问该API,但始终会删除标头“ Authorization”,从而使该API无法使用。
    • 我通过Nginx-Ingress部署了API,这组链接指向正确的广播(Ingress与API的服务和Pod链接良好),我收到一个外部IP,但是当我访问该IP时,则该站点无法访问(请求丢失并且没有到达服务器)。

1 个答案:

答案 0 :(得分:0)

如果将Apache与CGI / FastCGI一起使用,则可能会收到有关缺少授权标头的错误消息。这是因为默认情况下,Apache不会将授权标头传递给PHP。

修复

您需要编辑Apache站点配置,以便在vhost config <VirtualHost>指令中添加一行。

<VirtualHost>
    # ...
    SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
    # ...
</VirtualHost>