簡體   English   中英

如何將 Nginx.conf 配置轉換為 nginx-ingress-controller ingress.yml?

[英]How to convert Nginx.conf configuration to nginx-ingress-controller ingress.yml?

我有以下配置的 nginx.conf。

proxy_redirect          off;
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_connect_timeout   65;
proxy_send_timeout      65;
proxy_read_timeout      300;
proxy_buffers           4 256k;
proxy_buffer_size       128k;
proxy_busy_buffers_size 256k;
large_client_header_buffers  8 64k;
client_header_buffer_size    64k;
client_max_body_size    1024m;

server {
        listen          443 ssl;
        server_name server1.com;
        ssl_certificate /etc/nginx/ssl/server1.com.crt;
        ssl_certificate_key /etc/nginx/ssl/server1.com.key;
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;

        proxy_ssl_session_reuse on;
        proxy_ssl_protocols TLSv1.2;

        rewrite_log on;

        proxy_cache_bypass $http_cache_control;
        proxy_ignore_headers "Set-Cookie";
        add_header X-Proxy-Cache $upstream_cache_status;

        location / {
                location = /robots.txt {
                    add_header  Content-Type  text/plain;
                    return 200 "User-agent: *\nDisallow: /\n";
                }

                location ~ ^/(files/app)  {
                    proxy_pass http://server1.com:31111;
                }

                proxy_pass https://server2.com;
        }
}

我想將我的 nginx 配置轉移到 kubernetes ingress-nginx ingress.yml。 有沒有辦法使用 kubernetes Ingress 資源來實現這個配置?

這是我的 ingress.yml,它當然不能正常工作,並且會遇到 url https://server1.com/files/app進入多個重定向並最終拋出 502 Bad Gateway。

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    kubernetes.io/ingress.class: nginx
    meta.helm.sh/release-name: my-service
    meta.helm.sh/release-namespace: default
  generation: 1
  labels:
    app.kubernetes.io/managed-by: Helm
  name: my-service
  namespace: default
  selfLink: /apis/extensions/v1beta1/namespaces/default/ingresses/my-service
spec:
  rules:
  - host: server1.com
    http:
      paths:
      - backend:
          serviceName: my-service
          servicePort: 31111
        path: /files/app
        pathType: ImplementationSpecific

解決方案是從 httpd.conf 中刪除條目。 我的服務直接繞過了請求,但我也在 httpd conf 中提供了這些條目,因為它在內部循環。 就入口規則而言。 在我從 httpd.conf 中刪除相關規則后,上述配置工作正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM