Как настроить nginx с использованием SSL в контейнере Docker?

Как настроить сертификат SSL для сайта с использованием Docker и Certbot?
  • 3 апреля 2024 г. 23:59
Ответы на вопрос 1
Для настройки 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 сертификата.
Похожие вопросы