0
我在kubernets的pod上運行nginx,並且我想根據客戶端請求域(如a.b.c)在nginx中執行proxy_pass。但我得到了服務名稱。如何從kubernetes pod獲取客戶端域信息?
那麼如何從kubernetes pod獲取客戶端域信息?
我在kubernets的pod上運行nginx,並且我想根據客戶端請求域(如a.b.c)在nginx中執行proxy_pass。但我得到了服務名稱。如何從kubernetes pod獲取客戶端域信息?
那麼如何從kubernetes pod獲取客戶端域信息?
如果我明白,你要求的HTTP「主機」標題,對不對? Kubernetes完全沒有觸及到這一點。你能解釋一下關於「我得到服務名稱」的含義嗎?你是在哪裏拿到的?
我使用入口控制器。我在ingress-nginx中獲得了'proxy_pass http:// my-nginx-svc',並且我得到了頭中每個請求的主機是'my-nginx-svc'。如果我在入口控制器中的nginx.conf中設置了'proxy_set_header Host $ host',我得到了正確的「主機」頭文件。 – sope
您是正確的,默認情況下,ingress-nginx不會傳遞主機頭。該模板使用nginx默認值。請檢查生成配置的模板的代碼https://github.com/kubernetes/contrib/blob/master/Ingress/controllers/nginx-alpha/controller.go#L34 – aledbf
@sope https://github.com/kubernetes/contrib/pull/305被合併。請爲nginx-alpha構建一個新圖像。 – aledbf