Недавно мне напомнили об этом инструменте. mkcert и это вдохновило меня добавить пример TLS в Азот. mkcert позволяет невероятно легко тестировать TLS с вашим приложением во время локальной разработки. Его очень важно отметить, что сертификаты TLS, сгенерированные mkcert, следует использовать только для разработки, а не для рабочих приложений.


mkcert

Просто краткий обзор mkcert. Прежде чем что-либо делать, вы должны установить ЦС на свой локальный компьютер:

mkcert -install
Войти в полноэкранный режим

Выйти из полноэкранного режима

Затем сгенерировать сертификат для локального хоста так же просто, как запустить:

mkcert localhost
Войти в полноэкранный режим

Выйти из полноэкранного режима


нгинкс

Добавление сертификатов TLS требует редактирования nginx.conf файл и поместить файл в нужное место для nginx читать.

Пример файла конфигурации nginx с включенным TLS:

server {
  listen 443 ssl default_server;

  ssl_certificate /etc/ssl/certs/nitrogen.pem;
  ssl_certificate_key /etc/ssl/private/nitrogen.key;
}
Войти в полноэкранный режим

Выйти из полноэкранного режима

Тогда в Dockerfile у нас будут такие записи, как:

COPY nginx.conf /etc/nginx/conf.d/nginx.conf
COPY nitrogen.key /etc/ssl/private/nitrogen.key
COPY nitrogen.pem /etc/ssl/certs/nitrogen.pem
Войти в полноэкранный режим

Выйти из полноэкранного режима


Пример азота

Посмотреть полный пример здесь. Это сжатая версия.

Примечание: также полезно проверить азот README.md тоже первый

Примечание: вам также понадобится учетная запись AWS 😀

Сначала вам нужно клонировать репо и установить nitrogen:

$ git clone 
$ curl -fsSL  | sh
Войти в полноэкранный режим

Выйти из полноэкранного режима

Затем из корня репо (cd nitrogen) вы можете запустить следующие команды и, надеюсь, увидеть великолепный HTML-код, обслуживаемый через TLS:

$ nitrogen setup nitrogen-nginx-tls ~/.ssh/id_rsa.pub
Войти в полноэкранный режим

Выйти из полноэкранного режима

В настройках вы должны увидеть имя хоста ec2, которое необходимо использовать в следующей команде:

$ mkcert -install
$ mkcert -cert-file nitrogen.pem -key-file nitrogen.key <HOSTNAME FROM ABOVE>
$ cp nitrogen.pem nitrogen.key examples/nginx-tls
Войти в полноэкранный режим

Выйти из полноэкранного режима

$ nitrogen build examples/nginx-tls/
$ nitrogen deploy nitrogen-nginx-tls ~/.ssh/id_rsa
Войти в полноэкранный режим

Выйти из полноэкранного режима

Наконец-то ты можешь бежать curl:

$curl  FROM ABOVE>:5000/
Войти в полноэкранный режим

Выйти из полноэкранного режима

Наконец, наконец, разрушьте стек формирования облака, чтобы с вас не взимали плату без необходимости:

$ nitrogen delete nitrogen-nginx-tls
Войти в полноэкранный режим

Выйти из полноэкранного режима

Спасибо за чтение! Мы хотели бы услышать, что вы думаете в комментариях ниже. Пожалуйста, пометьте Nitrogen на GitHubи заходите поболтать Раздор.