#docker #ssl #nginx #strapi
#docker #ssl #nginx #strapi
Вопрос:
Я пытаюсь настроить SSL для двух контейнерных приложений на одном хосте.
Приложение 1: Стандартная конфигурация SSL на порту 443. Nginx. —опубликовать 443:443. Отлично работает.
Приложение 2. Настройка SSL на порту 8000. Nginx. —опубликовать 8000:1337 (Strapi CMS).
docker run
для app1:
docker run -d --name app1
--publish 80:80
--publish 443:443
--volume /home/app1/packages/app1/nginx/config:/etc/nginx/conf.d
--volume /home/app1/packages/app1/nginx/certs/dev:/etc/nginx/certs
azureacr.azurecr.io/website:latest-dev
docker run
для app2:
docker run -d --name app2
--publish 8000:1337
--volume vol1:/app2/data
--volume vol2:/app2/public/uploads
azureacr.azurecr.io/websitecms:latest-dev
nginx.conf
server {
listen 443 ssl;
server_name website.com;
ssl_certificate /etc/nginx/certs/cert.crt;
ssl_certificate_key /etc/nginx/certs/private.key;
location / {
proxy_pass http://127.0.0.1:8000;
}
}
server {
listen 8000 ssl;
server_name website.com;
ssl_certificate /etc/nginx/certs/cert.crt;
ssl_certificate_key /etc/nginx/certs/private.key;
location / {
proxy_pass http://127.0.0.1:8000;
}
}
curl -v
вывод
* Uses proxy env variable https_proxy == 'http://proxy.com:8080'
* Trying X.X.X.X...
* TCP_NODELAY set
* Connected to proxy.com (X.X.X.X) port 8080 (#0)
* allocate connect buffer!
* Establish HTTP proxy tunnel to website.com:8000
> CONNECT website.com:8000 HTTP/1.1
> Host: website.com:8000
> User-Agent: curl/7.64.1
> Proxy-Connection: Keep-Alive
>
< HTTP/1.1 200 Connection established
<
* Proxy replied 200 to CONNECT request
* CONNECT phase completed!
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
* CAfile: /etc/ssl/cert.pem
CApath: none
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* CONNECT phase completed!
* CONNECT phase completed!
* LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to website.com:8000
* Closing connection 0
curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to website.com:8000
Есть мысли о том, как заставить оба приложения 1 и 2 работать на одном хосте?
Комментарии:
1. Можете ли вы указать полную команду docker, которую вы используете для запуска этих двух контейнеров?
2. добавлен @rootkonda
3. Очень интересный вопрос об использовании веб-сервера 2 containers с SSL…