LoginSignup
5

More than 5 years have passed since last update.

kubernetesのingressでhttpsリクエストのみ許可する

Last updated at Posted at 2017-08-16

公式に書いてあるんですけどメモとして
httpsリクエストのみ許可すると言っているので、httpでのリクエストが来ても404を返すようになります
実際はhttpへのアクセスが来たらhttpsにリダイレクトさせたいですよね、残念ながら現在のingress(GCE)の設定では出来ないようです
※リダイレクトさせるにはnginx ingressか何らかのwebサーバーでリダイレクトするようにしないといけません
僕はリダイレクトさせたいので結局httpを許可してフロントエンドで使用しているnginxでhttpsへリダイレクトさせました

使わなかったけど調べたのでとりあえず書いておきます

参考
GitHub kubernetes/ingress#Blocking HTTP
StackOverFlow: How to force SSL for Kubernetes Ingress on GKE

httpリクエストを許可しないingress.yamlの例

ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: test
  annotations:
    kubernetes.io/ingress.allow-http: "false" # ここの行を追加するとhttps強制できる
spec:
  tls:
  # This assumes tls-secret exists.
  # To generate it run the make in this directory.
  - secretName: tls-secret
  backend:
    serviceName: echoheaders-https
    servicePort: 80

これで終了(書く必要あったか…)
以上

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5