0.00
Рейтинг
0.00
Сила

Linux API с точки зрения разработчика веб-сервера / Валентин Бартенев (NGINX, Inc.)


РИТ 2017, Backend Conf

Тезисы:
backendconf.ru/2017/abstracts/2710.html

В данном докладе я дам обзор системных интерфейсов, которые предоставляет Linux для эффективной обработки запросов. В частности, речь пойдет о мультиплексировании ввода-вывода, отправке файлов и многопоточной обработке входящих соединений. Расскажу о нюансах и недостатках в сравнении с аналогичными интерфейсами других unix-подобных операционных систем. Личный опыт показывает, что продуманность и качество реализации интерфейса для прикладных программ — это, к сожалению, довольно слабая сторона ядра Linux.

Установка бесплатного SSL-сертификата (A-grade) Lets Encrypt на nginx (Ubuntu 16.04)


Установка бесплатного SSL-сертификата (A-grade) Lets Encrypt на nginx (Ubuntu 16.04):
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/nginx.key -out /etc/nginx/nginx.crt #Генерируем самоподписанный сертификат
sudo openssl dhparam -out /etc/nginx/dhparam.pem 2048 #Генерируем ключ для шифрования (необязательно, необходимо для оценки A)
sudo nano /etc/nginx/sites-enabled/default #Редактируем настройки nginx
//(раскомментировать listen 443 ssl default_server; и изменить server_name _; ssl_dhparam /etc/nginx/dhparam.pem;)
//(добавить ssl_certificate /etc/nginx/nginx.crt; ssl_certificate_key /etc/nginx/nginx.key; )
//DNS должен корректно указывать на наш сервер по всем именам, порты 80 и 443 должны быть открыты
sudo nginx -t # Проверим что конфиг nginx без ошибок
sudo service nginx reload #Перезапустим nginx и проверим что SSL работает
sudo apt-get update #Обновим индексы пакетов
sudo apt-get install software-properties-common #Установим пакет для управления репозиториями
sudo add-apt-repository ppa:certbot/certbot #Добавим репозиторий certbot
sudo apt-get update #Еще раз обновим индексы пакетов
sudo apt-get install python-certbot-nginx #Установим certbot с плагином для nginx
sudo certbot --nginx #Запускаем «мастер» установки сертификата
sudo crontab -e #Отредактируем root cron
0 3 11 */2 * /usr/bin/certbot renew --post-hook «systemctl reload nginx» --force-renew #Обновляем сертификат в 3 утра 11 числа каждого 2-го месяца и перезагружаем конфиг в nginx

www.ssllabs.com/ssltest/ — Тест SSL Grade
certbot.eff.org/#ubuntuxenial-nginx — Официальное руководство Certbot
Использована музыка Lee Rosevere