Мне нужно будет настроить client_max_body_size
для определенного места в моем Ingress
файл конфигурации является значением по умолчанию. Как это можно сделать? Я просматривал документ, но ничего не нашел. Не хочешь делать это глобально.
Кроме того, если бы я использовал аннотацию, она использовалась бы для всех путей, я просто хочу ее для определенного.
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: "4m"
location /upload-path {
client_max_body_size 6M;
}
Согласно Документы Nginx, вы можете установить client_max_body_size
в 3-х секциях:
Установите это значение, вы должны изменить его в nginx ingress controller
капсула, точно в /etc/nginx/nginx.conf
.
Ниже пример:
$ kubectl exec -ti <ingres-controller-pod> /bin/bash
$ kubectl exec -ti nginx-ingress-controller-6b85b64f49-rwxlf /bin/bash
Отредактируйте файл nginx.conf.
$ vi /etc/nginx/nginx.conf
В моем примере имя хоста из входящего трафика my.pod.svc
.
Теперь вам нужно найти правильный server
часть файла. Вы можете искать его, так как он будет прокомментирован, как показано ниже.
## start server <your host name from ingress>
Как показано ниже:
## start server my.pod.svc
server {
server_name my.pod.svc ;
...
Теперь вы должны найти подходящее место. В этом примере это будет /pod
.
location ~* "^/pod" {
set $namespace "default";
Здесь вы должны указать это значение.
По умолчанию это 2M. Во время изменения не забывайте о ;
.
Аналогичная ветка есть на Переполнение стека. В этой ветке вы также можете найти ссылку с другим примером Вот.
После этого изменения вам нужно будет перезагрузить nginx.
РЕДАКТИРОВАТЬ:
Другой вариант (который использовался OP в этой ситуации) - использовать annotation
.
nginx.ingress.kubernetes.io/proxy-body-size: 8m
Таким образом будет применен весь кластер.
другая аннотация, которую можно использовать, это аннотация_configuration_snippet. В этом примере установите размер только на /upload-path
, это будет выглядеть так:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: nginx-snippet
annotations:
nginx.ingress.kubernetes.io/configuration-snippet: |
location /upload-path {
client_max_body_size 8M;
}