NGINX Ingress Controller 配置代理外部服务

NGINX Ingress Controller 配置代理外部服务

背景说明

前端工程,在开发环境配置了本地代理
在这里插入图片描述
上线后需要服务端设置代理;
传统的nginx环境则直接配置如下即可

location /tencent-mapapi/ {
    proxy_redirect http:// $scheme://; #做https跳转;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass https://apis.map.qq.com;
}

在K8s中,则需要结合 NGINX Ingress Controller 进行配置;

NGINX Ingress Controller 基于域名的外部服务访问

定义外部域名的服务

apiVersion: v1
kind: Service
metadata:
  name: tencent-map-test
  namespace: test
spec:
  externalName: apis.map.qq.com
  ports:
  - name: https
    port: 443
    protocol: TCP
    targetPort: 443
  sessionAffinity: None
  type: ExternalName

定义ingress

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  annotations:
    cert-manager.io/issuer: letsencrypt-prod
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/backend-protocol: HTTPS
    nginx.ingress.kubernetes.io/rewrite-target: $1
    nginx.ingress.kubernetes.io/upstream-vhost: apis.map.qq.com
  name: my-external-proxy
  namespace: test
spec:
  rules:
  - host: 'app.domain.com'
    http:
      paths:
      - backend:
          serviceName: tencent-map-test
          servicePort: 443
        path: /tencent-mapapi(.+)$
  tls:
  - hosts:
    - '*.domain.com'
    secretName: domain-com-tls
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值