У меня есть приложение angular (6), которое работает на Nginx и развернуто в Kubernetes.Вот мои конфиги:
Вот мой файл докера:
FROM node:10-alpine as builder
COPY package.json ./
RUN yarn install && mkdir /myproject && mv ./node_modules ./myproject
WORKDIR /myproject
COPY . .
RUN yarn ng build
FROM nginx:1.15-alpine
COPY ./server.conf /etc/nginx/conf.d/default.conf
## Remove default nginx website
RUN rm -rf /usr/share/nginx/html/*
COPY --from=builder /myproject/dist /usr/share/nginx/html
CMD ["nginx", "-g", "daemon off;"]
И мои конфиги nginx следующие:
server {
listen 80;
server_name mywebiste.com www.mywebiste.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name mywebiste.com www.mywebiste.com;
ssl_certificate /etc/letsencrypt/live/mywebiste.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mywebiste.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
add_header Strict-Transport-Security max-age=15768000;
root /usr/share/nginx/html/myproject;
index.html;
server_name localhost;
location / {
try_files $uri $uri/ =404;
}
}
В этом подходе я вроде какчтобы создать сертификаты на моем локальном компьютере, а затем скопировать его в кластер kubernetes.
Я не уверен, что есть лучший способ обработки сертификатов SSL здесь.Я провел некоторое исследование, есть что-то, называемое Ingin контроллер Inginx, но я не уверен, как его настроить, так как я тоже создаю сервер nginx.