Приветствую.
Настройку производил по
этому мануалу, но есть загвоздка. Вот файл docker-compose.yml:
version: "3.1"
services:
db:
image: mariadb
container_name: test-mariadb
restart: always
volumes:
- ./db/data/:/var/lib/mysql/
- ./db/etc/:/etc/mysql/conf.d
- ./db/logs/:/var/lib/mysql/logs/
environment:
- MYSQL_ROOT_PASSWORD=pass
- MYSQL_USER=sqluser
- MYSQL_PASSWORD=pass
ports:
- "127.0.0.1:3306:3306"
php:
build:
context: ./php
dockerfile: Dockerfile.dockerfile
container_name: test-php
volumes:
- ./public_html/:/var/www/html
depends_on:
- db
apache:
image: httpd:2.4
container_name: test-apache
volumes:
- ./public_html/:/var/www/html
- ./httpd/httpd.conf:/usr/local/apache2/conf/httpd.conf
depends_on:
- php
nginx:
image: nginx:1.17
container_name: test-nginx
volumes:
- ./public_html/:/var/www/html
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
- ./certbot/conf:/etc/letsencrypt
- ./certbot/www:/var/www/certbot
ports:
- "80:80"
- "443:443"
certbot:
image: certbot/certbot
container_name: test-certbot
restart: always
volumes:
- ./certbot/conf:/etc/letsencrypt
- ./certbot/www:/var/www/certbot
Сами сертификаты у меня получены через
SSL for free. Так я верифицировал домен руками через ./well-known. На руках у меня два сертификата (ca_bundle.crt, certificate.crt) и ключ private.key. Если я правильно понял, то данные из ca_bundle можно спокойно прописать в certificate.crt в конце и переименовать файлы в certificate.pem и private.pem.
Вопрос: исходя из файла docker-compose.yml куда мне нужно положить данные сертификаты и что прописать в nginx.conf? Сейчас в нём в блоке http следующее:
server {
listen 80 default_server;
return 444;
}
server {
listen 80;
server_name domain.ru www.domain.ru;
root /var/www/html;
location / {
index index.html index.php;
}
location ^~ /.well-known/acme-challenge/ {
default_type "text/plain";
root /var/www/html;
}
}
Заранее большое спасибо!