Как я могу включить HSTS на Google Load Balancer, поставляемом с Google Container Engine?
Я хотел бы настроить HSTS с моим кластером GKE, так как сейчас HTTP-запросы возвращают страницу со сломанным роботом Google 404 после настройки в ingress.yml
annotations
:kubernetes.io/ingress.allow-http: "false"
Видимо, есть варианты для этого в ingress.yml
(а именно hsts-max-age
а также hsts-include-subdomains
), но, насколько я понимаю, это не поддерживается GKE: https://github.com/kubernetes/ingress/blob/7c749ede0a2d88f289279d61d04005e22f002104/docs/annotations.md#tls-related
Я действительно хотел бы избежать использования и поддержки собственного балансировщика нагрузки Nginx и потерять масштабирование Google, поэтому строгое требование было бы придерживаться значения по умолчанию. Я также хотел бы не пропускать запросы HTTP и обрабатывать перенаправления и заголовок HSTS в моем приложении.
Если HSTS не возможен, я мог бы жить с хорошей установкой перенаправления.
Большое спасибо!
3 ответа
HSTS в настоящее время не поддерживается Google Cloud Load Balancer. Для этой функции уже открыт запрос функции. Вы можете подписаться на функцию запроса на обновления.
Google Cloud, похоже, теперь поддерживает настраиваемые заголовки запросов и ответов для балансировщиков нагрузки HTTP(S). я добавил кастомныйStrict-Transport-Security
заголовок ответа для нашего бэкэнда, и он работает как положено.
В данном примере мы используем серверную корзину, однако опция настраиваемого заголовка доступна и для других типов серверной части.
В настоящее время это * поддерживается конфигурацией серверной части GCLB, однако оно недоступно в качестве параметра для контроллера gce-ingress. Надеюсь, когда-нибудь!
См.: https://github.com/kubernetes/ingress-gce/issues/1106 .