相关文章推荐
想表白的沙滩裤  ·  python ...·  2 年前    · 
威武的海龟  ·  c++ - Why am I ...·  2 年前    · 

Traefik https重定向(通过kubernetes部署)。

2 人关注

I'm running traefik on AWS via kubernetes. It all works, except for my http=>https redirect configuration.

我有以下.toml文件

defaultEntryPoints = ["http", "https"]
[entryPoints]
  [entryPoints.http]
  address = ":80"
    [entryPoints.http.redirect]
      entryPoint = "https"

通过下面的Kubernetes部署+服务配置。

https requests work file, but http requests return:

> curl http://www.myserver.com
curl: (52) Empty reply from server

Kubernetes config files:

kind: Deployment
apiVersion: extensions/v1beta1
metadata:
  name: traefik-proxy
  labels:
    app: traefik-proxy
    tier: proxy
spec:
  replicas: 1
  selector:
    matchLabels:
      app: traefik-proxy
      tier: proxy
  template:
    metadata:
      labels:
        app: traefik-proxy
        tier: proxy
    spec:
      terminationGracePeriodSeconds: 60
      # kubectl create configmap traefik-conf --from-file=./conf/k8s/traefik.toml
      volumes:
      - name: config
        configMap:
          name: traefik-conf
      containers:
      - image: traefik:v1.2.0-rc1-alpine
        name: traefik-proxy
        resources:
          limits:
            cpu: "200m"
            memory: "30Mi"
          requests:
            cpu: "100m"
            memory: "20Mi"
        volumeMounts:
        - mountPath: "/conf"
          name: config
        ports:
        - containerPort: 80
          hostPort: 80
          name: traefik-proxy
        - containerPort: 8080
          name: traefik-ui
        args:
        - --configFile=/conf/traefik.toml
        - --kubernetes
        - --web
apiVersion: v1
kind: Service
metadata:
  name: traefik-proxy
  annotations:
    # SSL certificate.
    # https://console.aws.amazon.com/acm (alienlabs.io)
    service.beta.kubernetes.io/aws-load-balancer-ssl-cert: "arn:aws:acm:us-east-1:861694698401:certificate/28204a9f-69ec-424d-8f56-ac085b7bdad8"
    service.beta.kubernetes.io/aws-load-balancer-backend-protocol: "http"
spec:
  type: LoadBalancer
  selector:
    app: traefik-proxy
    tier: proxy
  ports:
  - port: 80
    targetPort: 80
    name: http
  - port: 443
    targetPort: 80
    name: https
    
kubernetes
traefik
rsb
rsb
发布于 2017-07-05
2 个回答
Eugene Chow
Eugene Chow
发布于 2017-07-05
已采纳
0 人赞同

My traefik.toml 配置与Corey的类似,但更简单一些。它能很好地用于所有的重定向,包括 http to https .

defaultEntryPoints = ["http","https"]
[entryPoints]
  [entryPoints.http]
  address = ":80"
    [entryPoints.http.redirect]
      entryPoint = "https"
  [entryPoints.https]
  address = ":443"
    
rsb
谢谢尤金 -- 见我在下面对科里的答复。
Corey Quinn
Corey Quinn
发布于 2017-07-05
0 人赞同

你要以稍微不同的方式来陈述你的EntryPoints。

defaultEntryPoints = ["http","https"]
[entryPoints]
  [entryPoints.http]
  address = ":80"
    [entryPoints.http.redirect]