apiVersion: v1 kind: ConfigMap metadata: name: nextcloud-nginx-config namespace: kube-public data: nginx.conf: | user root; worker_processes 4; #error_log logs/error.log info; events { worker_connections 1024; use epoll; } http { include mime.types; default_type application/octet-stream; sendfile on; tcp_nopush on; keepalive_timeout 65; server_names_hash_bucket_size 128; client_header_buffer_size 32k; large_client_header_buffers 4 32k; client_max_body_size 300m; proxy_redirect off; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 16k; proxy_buffers 4 64k; proxy_busy_buffers_size 128k; proxy_temp_file_write_size 128k; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; #include ./conf.d/*.conf; #server start server { listen 80; listen [::]:80 default_server; server_name _; add_header Strict-Transport-Security 'max-age=15552000'; location = /.well-known/carddav { return 301 $scheme://$host/remote.php/dav; } location = /.well-known/caldav { return 301 $scheme://$host/remote.php/dav; } location / { 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_pass http://nextcloud:80; } } } --- apiVersion: apps/v1 kind: Deployment metadata: name: nextcloud-nginx namespace: kube-public labels: app: nextcloud-nginx spec: replicas: 1 selector: matchLabels: app: nextcloud-nginx template: metadata: labels: app: nextcloud-nginx spec: containers: - name: nginx #image: nginx:1.22.0 image: harbor.uenpay.com/base/nginx:1.22.0 #image: registry.cn-hangzhou.aliyuncs.com/zhengyu1992/nginx:1.22.0 volumeMounts: - name: config mountPath: /etc/nginx/nginx.conf subPath: nginx.conf volumes: - name: config configMap: name: nextcloud-nginx-config --- apiVersion: v1 kind: Service metadata: name: nextcloud-nginx namespace: kube-public labels: app: nextcloud-nginx spec: ports: - port: 80 name: nextcloud-nginx protocol: TCP targetPort: 80 selector: app: nextcloud-nginx