- Настройка домена завершена
- Создан экземпляр AWS EC2
- Выдан сертификат с использованием ACM
- Настроен порт 443 и подключен сертификат через ALB
- ALB маршрутизирует трафик домена на экземпляр EC2 через порт 80
Перед сборкой Discourse я изменил файл app.yml, чтобы настроить HTTP-соединения:
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
## Раскомментируйте следующую строку, чтобы включить слушатель IPv6
#- "templates/web.ipv6.template.yml"
- "templates/web.ratelimited.template.yml"
## Раскомментируйте эти две строки, если хотите добавить Lets Encrypt (https)
#- "templates/web.ssl.template.yml"
#- "templates/web.letsencrypt.ssl.template.yml"
## Какие TCP/IP-порты должен открывать этот контейнер?
## Если вы хотите, чтобы Discourse использовал порт совместно с другим веб-сервером, например Apache или nginx,
## см. https://meta.discourse.org/t/17247 для деталей
expose:
- "80:80" # http
#- "443:443" # https
После внесения изменений я собрал Discourse и проверил конфигурацию, но nginx продолжает запрашивать SSL-ключ с следующей ошибкой:
[emerg] 7416#7416: не удалось загрузить сертификат "/shared/ssl/discourse.xxxxxxx.com.cer": PEM_read_bio_X509_AUX() failed (SSL: error:0480006C:PEM routines::no start line:Expecting: TRUSTED CERTIFICATE)
Есть ли способ предотвратить попытку nginx загрузить ключ или заставить nginx корректно работать через HTTP?