Как настроить Nginx + PHP-FPM + Node.js через HTTP/2 с SSL?
Ну а что именно то интересует? Щас всё работает так? У всех всё равно всё по разному и сугубо индивидуально.
Но в целом мне не нравится сразу бросается в глаза:worker_connections 1024;
дефолтовое мелкое значение. ssl_protocols             TLSv1.2;
Ок. А как старенькие android-ы. Юзеры со старенькими айосями на стареньком сафари? Даже IE10 на windows 10 не фурычит по 1.2
может всё таки стоит сделать так?ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
иsend_timeout 2;
Не особо хорошо если юзер с мобилы или медленного соединения например с E.
Я например у себя 30 выставил. Но 2ва это точно маловато.user www-data www-data;
Почему 2ва раза подряд указан один и тот же юзер?
Может надо так?user www-data;
сгенерьте сертификат ещё .pem настройте OCSP это будет быстрее чем CAC
Всё остальное уже по ситуации смотреть где что подкручивать.
Ну а с нодой то чего? Проблем не должно быть всё так же, но только укажешь var https = require('https');
иhttpsOptions = {
    key: fs.readFileSync("/..../..../.../mysite.com.key"), // путь к ключу
    cert: fs.readFileSync("/..../..../.../mysite.com.crt") // путь к сертификату
}
server_name $_site;
Так не работает. В server_name не работают переменные. В ssl_certificate/ssl_certificate_key тоже не работают.
location = /favicon\.ico
Это не регулярка — не нужно экранировать точку. 
location ~ /\.ht — лишнее. Выше уже запрещено всё начинающееся с точки. 
root $_root;
Раньше был баг, что рут из одной переменной считался относительным и дописывался к дефолтному. Может и починили уже, но я бы не стал так делать