То, что вы пытаетесь достичь, невозможно, просто добавив простой блок location
в conf.d
.
Вы в основном определяете новый server
блок с location
внутри.Этот новый блок server
никогда не используется nginx, потому что у вас уже есть конфигурация server
по умолчанию, сгенерированная ElasticBeanstalk с настроенными директивами listen
и server_name
.Эти две директивы используются nginx, чтобы решить, куда направить запрос, поэтому все входящие запросы направляются на ваш сервер приложений и игнорируются ваши настройки.
Что вам действительно нужно сделать, это изменить существующийserver
заблокируйте и добавьте в него свой location
.
Это можно сделать несколькими различными способами:
- Создайте новую конфигурацию nginx иудалите один по умолчанию.
В этом примере aws они просто добавляют новый .ebextensions/proxy.config
и заменяют конфигурацию nginx по умолчанию на собственную.Используя этот подход, вы можете полностью контролировать свою конфигурацию nginx.
- Создайте новую конфигурацию и обработайте ее до конфигурации по умолчанию.
Если вы все еще хотите сохранить конфигурацию по умолчанию, вы можете просто использовать свое 00_nginx_https_rw.config
имяconfig, таким образом nginx сначала обработает вашу конфигурацию, и если в вашей конфигурации у вас будут правильные server_name
и listen
, она будет использоваться nginx для обработки входящего запроса.
- Добавить ловушкуизменить конфигурацию по умолчанию.
На форуме AWS вы можете найти другое решение - добавить хук скрипта bash для изменения существующей конфигурации.