[英]Enabling CORS in Kubernetes API server with HTTPS
我正在嘗試從Angular JS前端應用程序使用Kubernetes API服務器。 API服務器使用https端點。 前端應用程序已部署到另一台服務器。
盡管為--cors-allowed-origins=.*
了--cors-allowed-origins=.*
(或--cors-allowed-origins=["http://*"]
)參數, kube-apiserver
我無法訪問API,因為當我嘗試進行GET時XHR請求,飛行前OPTIONS
請求失敗,沒有CORS標頭的401響應。
但是,當我從https切換到http時,一切正常。
看來我正在面對這個問題, 該問題已在我使用的Kubernetes版本中修復並合並。
版本包括Kubernetes 1.2.4,Angular JS 1.5.4和Chrome 51。
您能告訴我為什么會這樣以及如何解決嗎? 我需要一個適用於https的解決方案。
您鏈接到的問題已修復,但是kubernetes / kubernetes#18113引入了CORS處理的回歸,並且尚未解決(請參閱kubernetes / kubernetes#24086 )。 當前已將其標記為即將發布的1.3版本的已知問題,這意味着它是一個未解決的錯誤。
您可以編輯kubernetes API服務器yaml文件,以使CORS正常工作。
位置: /etc/kubernetes/manifests/kube-apiserver.yaml
在kube-apiserver
下添加- --cors-allowed-origins=http://www.example.com,https://*.example.com
這一行
spec:
containers:
- command:
- kube-apiserver
- --cors-allowed-origins=http://www.example.com,https://*.example.com
您可以添加逗號分隔的域或正則表達式。
無需重新啟動kube-apiserver
,一旦保存文件kube-apiserver
將自動重啟。
API服務器啟動需要5到10分鍾的時間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.