@luckyjenro0

Как поставить ssl на nginx/docker/vue?

Имеется приложение, вот файлы запусков:

DockerFile:

FROM node:15.10.0 as build-stage
WORKDIR /app
COPY package*.json ./
RUN npm install && npm cache clean --force
COPY ./ .
RUN npm run build

FROM nginx as production-stage
RUN mkdir /app
COPY --from=build-stage /app/dist /app
COPY nginx.conf /etc/nginx/nginx.conf
EXPOSE 9080
CMD ["nginx", "-g", "daemon off;"]

Также есть nginx.conf в папке с сайтом:

server {
    location / {
      root   /app;
      index  index.html;
      try_files $uri $uri/ /index.html;
    }
    error_page   500 502 503 504  /50x.html;
    server_name blamegrief.ru www.blamegrief.ru;

    location = /50x.html {
      root   /var/www/html;
    }

    listen                9080;
    server_name           blamegrief.ru;

    ssl on;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;

    ssl_certificate /etc/letsencrypt/live/blamegrief.ru/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/blamegrief.ru/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
  }

Запуская сначала docker build . -t my-app, потом docker run -p 80:9080 my-app, и потом curl localhost:80.

Вопрос: как сделать SSL? 2 дня мучаюсь, сейчас вот пишет, что почему-то не найдены файлы сертификата (вообще ничего не видит), пробовал ставить /root/ перед /etc/, облазил весь stakcoverflow...
  • Вопрос задан
  • 548 просмотров
Решения вопроса 1
karabanov
@karabanov Куратор тега Docker
Системный администратор
2 дня мучаюсь, щас вот пишет что почему то не найдены

Разумеется не найдены. Содержимое контейнера изолировано от хостовой системы (в этом весь смысл), соответственно если директория /etc/letsencrypt не подмонтирована в контейнер, Nginx никак не сможет получить доступ к сертификатам.

docker run --rm -v /etc/letsencrypt:/etc/letsencrypt -p 80:9080 my-app
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы