Для настройки nginx с использованием SSL в контейнере Docker, следуйте следующим шагам:
1. Создайте Dockerfile для сборки образа nginx с установленным пакетом openssl:
```
FROM nginx:latest
RUN apt-get update && apt-get install -y openssl
```
2. Создайте конфигурационный файл nginx.conf с настройками SSL, например:
```
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/certs/server.crt;
ssl_certificate_key /etc/ssl/certs/server.key;
location / {
root /usr/share/nginx/html;
index index.html;
}
}
```
3. Создайте файл docker-compose.yml для запуска контейнера с nginx:
```
version: '3'
services:
nginx:
build: .
ports:
- "443:443"
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf
- ./ssl/certs:/etc/ssl/certs
```
4. Создайте директорию ssl/certs и поместите туда сертификат и ключ SSL.
5. Соберите образ и запустите контейнер nginx:
```
docker-compose up -d
```
Для настройки SSL сертификата для сайта с использованием Docker и Certbot, выполните следующие шаги:
1. Установите Certbot в контейнер:
```
docker run -it --rm --name certbot -v /etc/letsencrypt:/etc/letsencrypt certbot/certbot certonly --webroot -w /usr/share/nginx/html -d example.com
```
2. Перезапустите контейнер nginx с новыми SSL сертификатами:
```
docker-compose restart nginx
```
Теперь ваш сайт должен быть доступен через HTTPS с использованием SSL сертификата.