У меня есть Ubuntu 18.04 , на котором я установил Nginx с сертификатом LetsEncrypt SSL .
Внутри приложения я запускал Node.js API с Docker.
Клиент -> Nginx (с SSL) -> Docker (SSL не t работа) -> Node.js app
Для работы я использую Docker -композит с определенным кодом:
services:
db:
image: postgres:9.6
volumes:
- 'database:/var/lib/postgresql/data'
environment:
- POSTGRES_DB=${DATABASE_NAME}
- POSTGRES_USER=${DATABASE_USER}
- POSTGRES_PASSWORD=${DATABASE_PASSWORD}
ports:
- '${DATABASE_PORT}:${DATABASE_PORT}'
networks:
- application_name
modules:
image: node:12.14.1
working_dir: '/app'
entrypoint: 'npm'
volumes:
- './package.json:/app/package.json'
- 'node_modules:/app/node_modules'
networks:
- application_name
env_file:
- .env
back:
image: node:9.5.0
working_dir: '/app'
command: 'npm run start:app'
ports:
- '${APP_1_PORT}:${APP_1_PORT}'
- '${APP_2_PORT}:${APP_2_PORT}'
networks:
- application_name
volumes:
- './docs/:/app/docs'
- './src/:/app/src'
- './package.json:/app/package.json'
- './package-lock.json:/app/package-lock.json'
- './tsconfig.json:/app/tsconfig.json'
- 'node_modules:/app/node_modules'
env_file:
- .env
Nginx работает с HTTPS, но приложение Docker не (ERR_SSL_PROTOCOL_ERROR
).
Я прочитал, что Docker не видит сертификаты, и это является причиной проблемы. Я видел решения, но на этих примерах Nginx был внутри Docker, а не наоборот. Как это можно решить для этого случая?
Заранее спасибо!