Рейтинг:0

SSL не работает в док-контейнере Nginx

флаг cn

У меня есть такая структура проекта:

âââ docker-compose.dev.yml
âââ docker-compose.prod.yml
âââ docker-compose.yml
âââ homeid
✓ ✓ Dockerfile
â âââ nginx.conf
🔸 сайт
âââ обратный прокси-сервер
✓ ✓ Dockerfile
✓ ✓ dev.homebooker.conf
✓ ✔️homebooker.conf
â âââ nginx.conf

и у меня есть домен homebooker.fr и субдомен dev.homebooker.fr, и я хочу добавить https, поэтому я получил сертификат от letsencrypt и я замутил его в контейнер Nginx, но https не работает, не знаю, что я делаю неправильно.

Вот содержимое файлов:

докер-compose.yml

версия: '3'

Сервисы:
  обратный_прокси:
    строить:
      контекст: ./обратный прокси
      докерфайл: Докерфайл
    имя_контейнера: обратный_прокси
    перезапуск: всегда
    тома:
      - ~/letsencrypt:/etc/letsencrypt
    сети:
      - dev_network
      - prod_network
    порты:
      - "80:80"
      - "433:433"

сети:
  dev_network:
  prod_network:

докер-compose.dev.yml

версия: '3'

Сервисы:
  homeid_dev:
    строить:
      контекст: ./homeid
      докерфайл: Докерфайл
    имя_контейнера: homeid_dev
    перезапуск: всегда
    сети:
      - dev_network
    порты:
      - '8001:80'

сети:
  dev_network:

докер-compose.prod.yml

версия: '3'

Сервисы:
  homeid_prod:
    строить:
      контекст: ./homeid
      докерфайл: Докерфайл
    имя_контейнера: homeid_prod
    перезапуск: всегда
    сети:
      - prod_network
    порты:
      - "8002:80"
сети:
  prod_network:

Докерфайл с домашним идентификатором:

ОТ nginx: 1.21.6-alpine

ЗАПУСТИТЬ apk --update --обновление без кеша
RUN apk добавить python3 python3-dev py3-pip build-base libressl-dev musl-dev libffi-dev rust cargo
RUN pip3 установить pip --upgrade
RUN pip3 установить certbot-nginx
ЗАПУСК mkdir /etc/letsencrypt

РАБОЧИЙ КАТАЛОГ /usr/share/nginx/html

скопируйте nginx.conf /etc/nginx/conf.d/default.conf
КОПИРОВАТЬ ./веб-сайт package.json package-lock.json ./

ЗАПУСТИТЬ установку npm

Dockerfile обратного прокси:

ОТ nginx: 1.21.6-alpine

ЗАПУСТИТЬ apk --update --обновление без кеша
RUN apk добавить python3 python3-dev py3-pip build-base libressl-dev musl-dev libffi-dev rust cargo
RUN pip3 установить pip --upgrade
ЗАПУСК pip3 установить certbot-nginx
ЗАПУСК mkdir /etc/letsencrypt

скопируйте nginx.conf /etc/nginx/nginx.conf

РАБОЧИЙ КАТАЛОГ /etc/nginx/sites-доступен
КОПИРОВАТЬ homebooker.conf /etc/nginx/sites-available/homebooker.fr.conf

РАБОЧИЙ КАТАЛОГ /etc/nginx/sites-доступен
КОПИРОВАТЬ dev.homebooker.conf /etc/nginx/sites-available/dev.homebooker.fr.conf

РАБОЧИЙ КАТАЛОГ /etc/nginx/sites-enabled
RUN ln -s /etc/nginx/sites-available/homebooker.fr.conf . \
    && ln -s /etc/nginx/sites-available/dev.homebooker.fr.conf .

dev.homebooker.fr.conf

сервер {
    слушать 80;
    слушать [::]:80;
    имя_сервера dev.homebooker.fr www.dev.homebooker.fr;

    местоположение = /статус {
        доступ_лог выключен;
        default_type текстовый/обычный;
        add_header Content-Type text/plain;
        вернуть 200 «живых»;
    }

    место расположения / {
        proxy_pass http://homeid_dev;
    }

    error_page 500 502 503 504 /50x.html;
    местоположение = /50x.html {
        корень /usr/share/nginx/html;
    }

}

homebooker.fr.conf

сервер {
    слушать 80 ;
    слушать [::]:80 ;
    имя_сервера homebooker.fr www.homebooker.fr;
    вернуть 301 https://homebooker.fr;
}

сервер {
    слушать 443 ssl;

    имя_сервера homebooker.fr www.homebooker.fr;

    # сертификат РСА
    ssl_certificate /etc/letsencrypt/live/homebooker.fr/fullchain.pem; # под управлением Certbot
    ssl_certificate_key /etc/letsencrypt/live/homebooker.fr/privkey.pem; # под управлением Certbot
    включить /etc/letsencrypt/options-ssl-nginx.conf; # под управлением Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # под управлением Certbot
    ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;

    местоположение = /статус {
        доступ_лог выключен;
        default_type текстовый/обычный;
        add_header Content-Type text/plain;
        вернуть 200 «живых»;
    }

    место расположения / {
        proxy_pass http://homeid_prod/;
    }

    error_page 500 502 503 504 /50x.html;
    местоположение = /50x.html {
        корень /usr/share/nginx/html;
    }

}

обратный прокси/nginx.conf

пользователь nginx;
рабочие_процессы авто;

error_log /var/log/nginx/error.log уведомление;
pid /var/run/nginx.pid;


События {
    worker_connections 1024;
}


http {
    включить /etc/nginx/sites-enabled/*;
    default_type application/octet-stream;

    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                      '$статус $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    журнал_доступа /var/log/nginx/access.log основной;

    отправить файл включен;
    #tcp_npush включен;

    keepalive_timeout 65;

    #gzip включен;

    включить /etc/nginx/conf.d/*.conf;
}

homeid/nginx.conf

сервер {
    слушать 80;
    слушать [::]:80;

    #access_log /var/log/nginx/host.access.log main;

    место расположения / {
        корень /usr/share/nginx/html;
        индекс index.html index.htm;
    }

    #error_page 404 /404.html;

    # перенаправить страницы ошибок сервера на статическую страницу /50x.html
    #
    error_page 500 502 503 504 /50x.html;
    местоположение = /50x.html {
        корень /usr/share/nginx/html;
    }

}

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.