Это конфигурация nginx
server {
listen $PORT;
location ~ ^/documents/(.*)$ {
proxy_pass http://127.0.0.1:5000/$1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location = /favicon.ico {
return 204;
access_log off;
log_not_found off;
}
}
Есть два варианта использования URL /documents/
:
Опубликовать в /documents/
для обработки или
Добраться до /documents/ping
используется AWS ELB для проверки работоспособности
В журнале cloudwatch я получил кучу записей ping в результате
Как проще всего попросить nginx не регистрировать пинг?
Вот простой способ - добавить этот блок местоположения.
location ~ /documents/ping {
proxy_pass http://127.0.0.1:5000/$1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
access_log off;
log_not_found off;
}
Вероятно, есть более чистые способы. Один из них - определить совместно используемое содержимое двух блоков как файл и включить его, но для одноразового использования я бы не стал беспокоиться.
Заметка - не используйте операторы if если вы не можете с этим поделать.
Обновить
Если вы хотите включить, сделайте что-то вроде этого
location ~ ^/documents/(.*)$ {
include /path/to/fragment.conf;
}
location /documents/ping {
include /path/to/fragment.conf;
access_log off;
log_not_found off;
}
В файле fragment.conf
proxy_pass http://127.0.0.1:5000/$1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
Согласитесь, что ~ не было необходимости, но я не думаю, что это повредит.