Рубрики
Uncategorized

Использование Anbible для размещения блога на облачном сервере

Мой блог Admentium размещен на облачном сервере, управляемом с помощью Anbible. Эта статья показывает, как использовать … Теги с DevOps, Anisible, облаком.

Мой блог Admantium Хостерно на облачном сервере, управляемом с помощью Anisible. Эта статья показывает, как использовать поставщик облачных вычислений Hetzner для настройки сервера NGINX с шифрованием TLS. Мы создадим сервер через интерфейс управления и установите NGINX с помощью Anbible. Затем мы получим сертификаты формы, позволяющие шифровать и настроить Nginx только для предоставления HTTP-соединений.

Эта статья изначально появилась в мой блог .

Создание Hetzner Cloud Server

Хетцнер является немецким поставщиком облачного вычисления. Причина, по которой я выбираю их, заключается в том, что у них хорошие цены и очень удобный веб-интерфейс. Кроме того, имеют HTTP API , а также инструмент CLI, GO и Python библиотеки.

Как только у вас есть учетная запись, создайте новый проект.

Затем добавьте серверы. Добавление средств сервера: Решите местоположение, изображение Linux и тип. Затем дополнительно добавьте хранилище блок и открытый ключ SSH.

Перед первым загрузкой у вас есть только ограниченное количество изображений. Но как только сервер работает, вы можете выбрать из длинного списка даже экзотических производных Linux.

Наконец, после запущенного сервера вы можете увидеть и настроить его в представлении деталей.

Установка Nginx.

Я устанавливаю Nginx с официальным Обязательная роль от Nginx Отказ Эта роль дает вам большое количество контроля: установка из ОС или компиляции из источников, настройте Nginx.conf, добавьте другие сайты и даже загружать сертификаты, если у вас их уже есть. Проверьте доступные Базовая конфигурация и Загрузить конфигурацию Отказ

Я использую эту неизбежную конфигурацию:

- name: Install nginx
  gather_facts: true
  hosts:
    - admantium
  tags:
    - nginx
  become: true
  vars:
    nginx_install_from: 'os_repository'
    nginx_repository: deb https://nginx.org/packages/mainline/debian/ stretch nginx
    nginx_main_upload_enable: true
    nginx_main_upload_src: config/nginx.conf
    nginx_main_upload_dest: /etc/nginx/
    nginx_http_upload_enable: true
    nginx_http_upload_src: config/http/*.conf
    nginx_http_upload_dest: /etc/nginx/conf.d/
  roles:
    - nginxinc.nginx

Роль выполнена, nginx установлена.

Получить сертификаты с помощью шифрования

Установка действительных сертификатов с Давайте шифровать Ничего не более радости: установить и запустить Certbot программа.

apt-get install certbot python-certbot-nginx
certbot certonly --nginx

Затем скрипт просит вас автоматически настроить настройку NGINIX, или он показывает вам пути к сгенерированным сертификатам. Я выбрал последнее, и вручную вставил его.

server {
  server_name admantium.com;
  listen 443 ssl http2;

  ssl_certificate /etc/letsencrypt/live/admantium.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/admantium.com/privkey.pem;

Затем я добавил простую страницу «Hello World» и добрался до сервера, чтобы увидеть сертификат, используемый в подключении HTTPS.

Обеспечение веб-сервера

Заключительная часть — сделать соединение TLS еще более безопасным. После прочтения Список аспектов безопасности Я узнал следующее:

  • Только разрешить TLSV1.2. и TLSV1.3 , Старая версия были скомпрометированы
  • Настройте сервер, чтобы предложить тщательно выбранный набор SSL_CIPHERS и скажите клиенту выбрать один из них
  • Установите Строгательная транспортная безопасность Заголовок и правильные перенаправления, чтобы разрешить только соединения TLS.

Это достигается со следующим конфигом:

##
# SSL Settings
##

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers "ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256";
ssl_prefer_server_ciphers on;
ssl_ecdh_curve secp521r1:secp384r1;
add_header Strict-Transport-Security "max-age=15768000; preload" always;

Однажды на месте я использую SSL Labs сканер И может улучшить счет от C до A. Большой результат!

Заключение

Эта статья показала вам, как настроить сервер с поставщиком облачных вычислений. Вы также узнали, как применить официальную нежинную роль NGINX для установки и настройки веб-сервера. Наконец, я показал вам, как получить сертификаты с помощью Encrypt и как улучшить настройку NGINX TLS.

Оригинал: «https://dev.to/admantium/using-ansible-for-hosting-a-blog-on-a-cloud-server-4n4d»