Добрый день!
Столкнулся со следующей задачей которую все никак не могу разрешить, а именно:
Не могу запустить докер на локальной машине с ssl сертификатом.
Пример docker-compose.yaml для proxy-nginx:
version: "2"
services:
nginx-proxy:
image: jwilder/nginx-proxy
container_name: nginx-proxy
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/tmp/docker.sock:ro
networks:
default:
external:
name: nginx-proxy
Пример docker-compose.yaml в приложении:
version: "3"
services:
nginx:
image: nginx:latest
networks:
- nginx-proxy
- default
expose:
- 80
- 443
volumes:
- /home/username/ssl:/etc/nginx/certs
- ./docker/data/log:/var/log/nginx
- ./docker/conf.d/nginx.conf:/etc/nginx/nginx.conf
- ./:/var/www/html
depends_on:
- httpd
environment:
- VIRTUAL_HOST=test.loc
networks:
nginx-proxy:
external:
name: nginx-proxy
Генерировал ssl сертификат используя команду из
статьи:
openssl req -x509 -out ssl_test.crt -keyout ssl_test.key \
-newkey rsa:2048 -nodes -sha256 \
-subj '/CN=test.loc' -extensions EXT -config <( \
printf "[dn]\nCN=test.loc\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:test.loc\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth")
Конфиг ./docker/conf.d/nginx.conf:
http {
....
server {
listen 443 ssl;
listen 80;
server_name _;
ssl_certificate /etc/nginx/certs/ssl_test.crt;
ssl_certificate_key /etc/nginx/certs/ssl_test.key;
index index.php index.html;
.....
}
}