Задать вопрос
@EVOSandru6

Почему nginx из Docker контейнера не реагирует на проброшенные в него сертификаты?

Привет, ребят.

Подскажите, в как продиагностировать проблему. Аналогично указанному туториалу https://medium.com/@marksta/this-was-so-useful-tha...
прописал связку контейнеров и запустил скрипт создания фейковых сертификатов. Разница только в конфиге nginx (domen.ru - условно):

server {
    listen 80;
    server_name domen.ru;
    server_tokens off;
    root /public_html;

    location /.well-known/acme-challenge/ {
        root /var/www/certbot;
    }
}

server {
    listen 443 ssl;
    server_name domen.ru;
    server_tokens off;
    root /public_html;

    ssl_certificate /etc/letsencrypt/live/domen.ru/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/domen.ru/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

    location / {
        index index.html;
    }
}


docker-compose.yml:

version: '3'

services:
  nginx:
    image: nginx:1.15-alpine
    restart: unless-stopped
    volumes:
      - ./public_html:/public_html
      - ./data/nginx:/etc/nginx/conf.d
      - ./data/certbot/conf:/etc/letsencrypt
      - ./data/certbot/www:/var/www/certbot
    ports:
      - "80:80"
      - "443:443"
    command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'"
  certbot:
    image: certbot/certbot
    restart: unless-stopped
    volumes:
      - ./data/certbot/conf:/etc/letsencrypt
      - ./data/certbot/www:/var/www/certbot
    entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"


Следующей коммандой убеждаюсь, что предпочитаемые серитификаты есть:

docker exec nginx-certbot_nginx_1 ls /etc/letsencrypt/live/domen.ru;


cert.pem
chain.pem
fullchain.pem
privkey.pem


При запуске из директории проекта:
docker-compose up -d;

Обращаюсь на https://domen.ru - https перечеркивается.

Общее имя (CN) domen.ru
Организация (O) <Не является частью сертификата>
Подразделение (OU) <Не является частью сертификата>
Общее имя (CN) Fake LE Intermediate X1
Организация (O) <Не является частью сертификата>
Подразделение (OU) <Не является частью сертификата>
Дата выдачи воскресенье, 1 декабря 2019 г., 11:43:16
Срок действия суббота, 29 февраля 2020 г., 11:43:16
Отпечаток SHA-256 64 F6 68 51 A1 79 AA CA 2D 4C EF EB 42 88 87 9B
D9 11 E7 4A 17 C5 0C 0D BE 67 F4 CE E7 84 8A 6B
Отпечаток SHA-1 F3 9E C8 7D EA A9 06 A9 E9 1D 30 92 0A 9F 32 B7
63 57 8A EB

Может ли быть причиной то, что это фейковый серт и сертботовские еще не прогрузились?

При попытке обновить сертификат:

docker exec nginx-certbot_certbot_1 certbot renew;

Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/domen.ru.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert not yet due for renewal

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

The following certs are not due for renewal yet:
/etc/letsencrypt/live/domen.ru/fullchain.pem expires on 2020-02-29 (skipped)
No renewals were attempted.


Что может быть не так?
  • Вопрос задан
  • 430 просмотров
Подписаться 1 Простой 15 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
26 дек. 2024, в 15:04
3000 руб./за проект
26 дек. 2024, в 14:50
2000 руб./за проект
26 дек. 2024, в 14:40
15000 руб./за проект