Nginx прокси сервер: различия между версиями

Материал из wolfram
Перейти к навигации Перейти к поиску
 
(не показано 17 промежуточных версий этого же участника)
Строка 1: Строка 1:
===Установка nginx===
==Настройка Proxmox для Nginx==
Устанавливаем пакет nginx незамысловатой командой:
<br />
apt install nginx -y
 
Для генерации сертификатов используем утилиту certbot:
===Загрузка образа Ubuntu===
apt install certbot python3-certbot-nginx
Получается мы устанавливаем '''ubuntu server''' как виртуальную в среде '''Proxmox'''.
Готово! Да это все. Остальное это создание конфигов для наших сервисов на которые нужно перенаправлять запросы, и получение сертификатов. Делается это одной командой.
 
certbot --nginx -d наш_домен
На данный момент это версия '''18.04.4 LTS'''.
 
На этот раз ни на какие накопители ничего записывать не нужно.
 
Требуется загрузить образ в пространство Proxmox, в хранилище. В нашем случае подойдет local.
 
Выбираем '''local в узле pve''', переходим в “'''Содержимое'''”.
 
Нажимаем “'''Загрузить'''” и выбираем '''наш образ'''.
 
Загружаем, ожидаем.
<br />
 
===Создание VM===
Нажимаем: '''создать VM:'''
 
В разделе '''Общее:'''
 
Узел: '''pve'''
 
VM ID: '''103'''
 
Имя: '''nginx'''
 
В разделе '''ОС:'''
 
Хранилище: '''local'''


===Конфигурация Nginx===
'''ISO образ:''' ''То, что загрузили с официального сайта Ubuntu.''
Чтобы настроить Nginx и прокси для [[Облачный сервер Nextcloud|Облачного сервера Nextcloud]], нужен сам сервер. Так что сначала его.
 
В разделе '''Жесткий диск:'''
 
Шина: '''VirtIO Block'''
 
Хранилище: '''local-lvm'''
 
Размер: '''10'''
 
Кэш: '''Write through'''
 
В разделе '''Процессор:'''
 
Ядра: '''2'''
 
В разделе '''Память:'''
 
Память: '''512'''
 
'''Готово.'''
<br />
 
==Установка OS==
Описываю только то, на что стоит обратить внимания, так как установить ос для Nginx можно просто по умолчанию.
 
Тут все также, как и в nexcloud.
 
Но при вопросе в разделе '''Filesystem setup''' выбираем автоматическую, и наш единственный раздел. Для того чтобы, установщик на своё усмотрение разбил диск.  
 
Тут очень мало важны размеры виртуальной оперативной памяти, так как машина выполняет очень узкую задачу.
 
 
 
Начинается установка. При этом она идет в фоне.
 
В это время заполняем данные пользователя и машины.
 
 
Your name: '''vova'''
 
your server’s name: '''nginx'''
 
Pick a username: '''vova'''
 
Choose password: пароль_пользователя
 
Confirm your password: пароль_пользователя
 
'''Готово'''
 
На вопрос установить ли '''ssh соглашаемся''', поставив крестик пробелом.
 
'''Готово'''
 
Ничего не выбираем и говорим Готово. Ждем окончания установки.  
 
По окончании '''Reboot'''
 
'''enter'''
 
ОС перезагрузиться, но уже в установленном виде. С ней бы выполнить стандартный набор операций.  
 
 
Обновляем репозитории:
 
'''apt-get update'''
 
Выполняем обновление пакетов из репозиториев
 
'''apt-get upgrade –y'''
 
Устанавливаем файловый менеджер mc
 
 
ОС готова переходим к установке Nginx.
 
==Установка nginx==
Устанавливаем пакет nginx незамысловатой командой:<syntaxhighlight lang="bash">
apt install nginx -y
</syntaxhighlight>Для генерации сертификатов используем утилиту certbot:<syntaxhighlight lang="bash">
apt install certbot python3-certbot-nginx
</syntaxhighlight>Готово! Да это все. Остальное это создание конфигов для наших сервисов на которые нужно перенаправлять запросы, и получение сертификатов. Делается это одной командой.<syntaxhighlight lang="bash">
certbot --nginx -d наш_домен
</syntaxhighlight>
 
==Конфигурация Nginx==
 
===nc.mywolfram.ru===
Чтобы настроить Nginx и прокси для [[Облачный сервер Nextcloud|Облачного сервера Nextcloud]], нужен сам сеpaрвер. Так что сначала его.


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


Создаем сам конфиг, название nc.mywolfram.ru есть то что было создано на сайте hi.net.  
Создаем сам конфиг, название nc.mywolfram.ru есть то что было создано на сайте hi.net, описывается в разделе Сеть, [[Сеть#.D0.94.D0.BE.D0.B1.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5 CNAME .D0.B7.D0.B0.D0.BF.D0.B8.D1.81.D0.B5.D0.B9.|добавление CNAME записей]]. 
  nano /etc/nginx/sites-enabled/nc.mywolfram.ru
  nano /etc/nginx/sites-enabled/nc.mywolfram.ru
<br />
Название файла конфигурации для удобства совпадает с доменом, так как их будет несколько.
 
Вносим данные в конфиг.<syntaxhighlight lang="nginx">
server {
    listen 80;
    server_name nc.mywolfram.ru;
    return 301 https://$server_name$request_uri;
}
    server {
    listen 443 ssl;
    server_name nc.mywolfram.ru;
}
</syntaxhighlight>Сохраняем. Проверяем все ли хорошо с нашим конфигом, и принимается ли он nginx.
nginx -t
Ответ должен быть таков:
''nginx: the configuration file /etc/nginx/nginx.conf syntax is ok''
nginx: configuration file /etc/nginx/nginx.conf test is successful
Перезагружаем nginx:
service nginx reload
И идем получать сертификаты. Выполняем генерацию для нашего домена.
certbot --nginx -d nc.mywolfram.ru
При выполнении будет задан вопрос о вводим email адреса
 
Вводим: адрес_электронной_почты
 
На вопрос о редиректе нужно согласиться. На данный момент это ответ '''2.'''
 
По окончании одной из строк результатов должен появится следующий текст:
Congratulations! You have successfully enabled <nowiki>https://nc.mywolfram.ru</nowiki>
Теперь идем редактировать конфиг. В него уже внёс немало информации certbot. Можно её всю удалить, и вставить из цитаты.<syntaxhighlight lang="nginx">
server {
    listen 80;
    server_name nc.mywolfram.ru;
    return 301 https://$server_name$request_uri;
}
 
server {
    listen 443 ssl;
    server_name nc.mywolfram.ru;
 
    ssl_certificate /etc/letsencrypt/live/nc.mywolfram.ru/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/nc.mywolfram.ru/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
    client_max_body_size 10G;
    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://192.168.1.145;
        proxy_read_timeout 900s;
        proxy_connect_timeout 900s;
        proxy_send_timeout 900s;
    }
# Для корректной работы .well-known (например, проверки Let's Encrypt)
    location ~ ^/.well-known {
        proxy_pass http://192.168.1.145;
        proxy_set_header Host $host;
    }
    add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;
}
</syntaxhighlight>Сохраняем. Данные для конфига подобраны опытным путем, потом и кровью. В основном на сайтах инструкциях в них всунута уйма информации. Тут же есть именно то, что позволит попасть с сертификатом на веб сервер nextcloud. Возможно, в дальнейшем будет дополняться.
 
После изменения сохраняем конфиг.
nginx -t
Ответ должен быть таков:
''nginx: the configuration file /etc/nginx/nginx.conf syntax is ok''
''nginx: configuration file /etc/nginx/nginx.conf test is successful''
Перезагружаем nginx:
service nginx reload
 
===pm.mywolfram.ru===
Доступ к веб интерфейсу гипервизора proxmox. Внутри сети как обычно все работает. Но как попасть снаружи? Снова прокси. Снова домен. Пользуемся в полной мере.
 
[[Сеть#.D0.94.D0.BE.D0.B1.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5 CNAME .D0.B7.D0.B0.D0.BF.D0.B8.D1.81.D0.B5.D0.B9.|Придумываем домен третьего уровня: pm.mywolfram.ru]].
 
Создаем конфиг.
nano /etc/nginx/sites-enabled/pm.mywolfram.ru
Вставляем:<syntaxhighlight lang="nginx">
server {
    listen 443 ssl;
    erver_name pm.mywolfram.ru;
}
</syntaxhighlight>Все как в прошлый раз:
nginx -t
 
service nginx reload
 
certbot --nginx -d pm.mywolfram.ru
Редактируем конфиг.
nano /etc/nginx/sites-enabled/pm.mywolfram.ru
<syntaxhighlight lang="nginx">
server {
    listen 80;
    server_name pm.mywolfram.ru;
    return 301 https://$server_name$request_uri;
}
server {
    listen 443 ssl;
    server_name pm.mywolfram.ru;
    ssl on;ssl_certificate /etc/letsencrypt/live/pm.mywolfram.ru/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/pm.mywolfram.ru/privkey.pem; # managed by Certbot
    location / {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_pass https://192.168.1.164:8006;
        proxy_buffering off;
        client_max_body_size 0;
        proxy_connect_timeout 3600s;
        proxy_read_timeout 3600s;
        proxy_send_timeout 3600s;
        send_timeout 3600s;
    }
}
</syntaxhighlight>Проверяем что все в порядке
nginx -t
Перезагружаем nginx
service nginx reload
Теперь мы можем получить доступ к веб интерфейсу proxmox, отовсюду и безопасно.
 
===de.mywolfram.ru===
Подключаться к качалке из вне тоже лишним не будет.
 
Создаем [[Сеть#.D0.94.D0.BE.D0.B1.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5 CNAME .D0.B7.D0.B0.D0.BF.D0.B8.D1.81.D0.B5.D0.B9.|домен третьего уровня]] для deluge, это я про de.mywolfram.ru на сайте dns.hi.net.
nano /etc/nginx/sites-enabled/de.mywolfram.ru
<syntaxhighlight lang="nginx">
server {
    listen 80;
    server_name de.mywolfram.ru;
    return 301 https://$server_name$request_uri;
}
server {
    listen 443 ssl;
    server_name de.mywolfram.ru;
    ssl_certificate_key
}
</syntaxhighlight>
nginx -t
 
service nginx reload
 
certbot --nginx -d de.mywolfram.ru
Редактируем полученный конфиг.
nano /etc/nginx/sites-enabled/de.mywolfram.ru
<syntaxhighlight lang="nginx">
server {
    listen 80;
    server_name de.mywolfram.ru;
    return 301 https://$server_name$request_uri;
}
server {
    listen 443 ssl; # managed by Certbot
    server_name de.mywolfram.ru;
    access_log /var/log/nginx/de.mywolfram.ru.access;
    error_log /var/log/nginx/de.mywolfram.ru.error;
    ssl_certificate /etc/letsencrypt/live/de.mywolfram.ru/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/de.mywolfram.ru/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
    add_header Strict-Transport-Security "max-age=31536000" always; # managed by Certbot
    ssl_trusted_certificate /etc/letsencrypt/live/de.mywolfram.ru/chain.pem; # managed by Certbot
    ssl_stapling on; # managed by Certbot ssl_stapling_verify on; # managed by Certbot
    location / {
        proxy_pass http://192.168.1.92:8112;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
</syntaxhighlight>
nginx -t
 
service nginx reload
Радуемся!
 
===Zabbix сервер.===
И к Zabbix серверу мы так же хотим качественно попадать, по высококачественному домену третьего уровня.
nano /etc/nginx/sites-enabled/zb.mywolfram.ru
<syntaxhighlight lang="nginx">
server {
    listen 80;
    server_name zb.mywolfram.ru;
    return 301 https://$server_name$request_uri;
}
server {
    listen 443 ssl;
    server_name zb.mywolfram.ru;
    ssl_certificate_key 
}
</syntaxhighlight>Смотрим статус<syntaxhighlight lang="bash">
nginx -t
</syntaxhighlight>Перезапускам Ngings<syntaxhighlight lang="bash">
service nginx reload
</syntaxhighlight>Получаем сертификат<syntaxhighlight lang="bash">
certbot --nginx -d zb.mywolfram.ru
</syntaxhighlight>Правим конфиг<syntaxhighlight lang="nginx">
server {
    listen 80;
    server_name zb.mywolfram.ru;
    return 301 https://$server_name$request_uri;
}
server {
    listen 443 ssl;
    server_name zb.mywolfram.ru;
    ssl_certificate /etc/letsencrypt/live/zb.mywolfram.ru/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/zb.mywolfram.ru/privkey.pem; # managed by Certbot
    location / {
        proxy_pass http://192.168.1.226;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
</syntaxhighlight>Всё готово, незабываем проверить статус и перезагрузиться.<syntaxhighlight lang="bash">
nginx -t
service nginx reload
</syntaxhighlight>Готово!

Текущая версия от 15:39, 11 марта 2025

Настройка Proxmox для Nginx


Загрузка образа Ubuntu

Получается мы устанавливаем ubuntu server как виртуальную в среде Proxmox.

На данный момент это версия 18.04.4 LTS.

На этот раз ни на какие накопители ничего записывать не нужно.

Требуется загрузить образ в пространство Proxmox, в хранилище. В нашем случае подойдет local.

Выбираем local в узле pve, переходим в “Содержимое”.

Нажимаем “Загрузить” и выбираем наш образ.

Загружаем, ожидаем.

Создание VM

Нажимаем: создать VM:

В разделе Общее:

Узел: pve

VM ID: 103

Имя: nginx

В разделе ОС:

Хранилище: local

ISO образ: То, что загрузили с официального сайта Ubuntu.

В разделе Жесткий диск:

Шина: VirtIO Block

Хранилище: local-lvm

Размер: 10

Кэш: Write through

В разделе Процессор:

Ядра: 2

В разделе Память:

Память: 512

Готово.

Установка OS

Описываю только то, на что стоит обратить внимания, так как установить ос для Nginx можно просто по умолчанию.

Тут все также, как и в nexcloud.

Но при вопросе в разделе Filesystem setup выбираем автоматическую, и наш единственный раздел. Для того чтобы, установщик на своё усмотрение разбил диск.  

Тут очень мало важны размеры виртуальной оперативной памяти, так как машина выполняет очень узкую задачу.

 

Начинается установка. При этом она идет в фоне.

В это время заполняем данные пользователя и машины.


Your name: vova

your server’s name: nginx

Pick a username: vova

Choose password: пароль_пользователя

Confirm your password: пароль_пользователя

Готово

На вопрос установить ли ssh соглашаемся, поставив крестик пробелом.

Готово

Ничего не выбираем и говорим Готово. Ждем окончания установки.  

По окончании Reboot

enter

ОС перезагрузиться, но уже в установленном виде. С ней бы выполнить стандартный набор операций.  


Обновляем репозитории:

apt-get update

Выполняем обновление пакетов из репозиториев

apt-get upgrade –y

Устанавливаем файловый менеджер mc


ОС готова переходим к установке Nginx.

Установка nginx

Устанавливаем пакет nginx незамысловатой командой:

apt install nginx -y

Для генерации сертификатов используем утилиту certbot:

apt install certbot python3-certbot-nginx

Готово! Да это все. Остальное это создание конфигов для наших сервисов на которые нужно перенаправлять запросы, и получение сертификатов. Делается это одной командой.

certbot --nginx -d наш_домен

Конфигурация Nginx

nc.mywolfram.ru

Чтобы настроить Nginx и прокси для Облачного сервера Nextcloud, нужен сам сеpaрвер. Так что сначала его.

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

Создаем сам конфиг, название nc.mywolfram.ru есть то что было создано на сайте hi.net, описывается в разделе Сеть, добавление CNAME записей.

nano /etc/nginx/sites-enabled/nc.mywolfram.ru

Название файла конфигурации для удобства совпадает с доменом, так как их будет несколько.

Вносим данные в конфиг.

server {
    listen 80;
    server_name nc.mywolfram.ru;
    return 301 https://$server_name$request_uri;
}
    server {
    listen 443 ssl;
    server_name nc.mywolfram.ru;
}

Сохраняем. Проверяем все ли хорошо с нашим конфигом, и принимается ли он nginx.

nginx -t

Ответ должен быть таков:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Перезагружаем nginx:

service nginx reload

И идем получать сертификаты. Выполняем генерацию для нашего домена.

certbot --nginx -d nc.mywolfram.ru

При выполнении будет задан вопрос о вводим email адреса

Вводим: адрес_электронной_почты

На вопрос о редиректе нужно согласиться. На данный момент это ответ 2.

По окончании одной из строк результатов должен появится следующий текст:

Congratulations! You have successfully enabled https://nc.mywolfram.ru

Теперь идем редактировать конфиг. В него уже внёс немало информации certbot. Можно её всю удалить, и вставить из цитаты.

server {
    listen 80;
    server_name nc.mywolfram.ru;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    server_name nc.mywolfram.ru;

    ssl_certificate /etc/letsencrypt/live/nc.mywolfram.ru/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/nc.mywolfram.ru/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
    client_max_body_size 10G;
    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://192.168.1.145;
        proxy_read_timeout 900s;
        proxy_connect_timeout 900s;
        proxy_send_timeout 900s;
    }
# Для корректной работы .well-known (например, проверки Let's Encrypt)
    location ~ ^/.well-known {
        proxy_pass http://192.168.1.145;
        proxy_set_header Host $host;
    }
    add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;
}

Сохраняем. Данные для конфига подобраны опытным путем, потом и кровью. В основном на сайтах инструкциях в них всунута уйма информации. Тут же есть именно то, что позволит попасть с сертификатом на веб сервер nextcloud. Возможно, в дальнейшем будет дополняться.

После изменения сохраняем конфиг.

nginx -t

Ответ должен быть таков:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Перезагружаем nginx:

service nginx reload

pm.mywolfram.ru

Доступ к веб интерфейсу гипервизора proxmox. Внутри сети как обычно все работает. Но как попасть снаружи? Снова прокси. Снова домен. Пользуемся в полной мере.

Придумываем домен третьего уровня: pm.mywolfram.ru.

Создаем конфиг.

nano /etc/nginx/sites-enabled/pm.mywolfram.ru

Вставляем:

server {
    listen 443 ssl;
    erver_name pm.mywolfram.ru;
}

Все как в прошлый раз:

nginx -t
service nginx reload
certbot --nginx -d pm.mywolfram.ru

Редактируем конфиг.

nano /etc/nginx/sites-enabled/pm.mywolfram.ru
server {
    listen 80;
    server_name pm.mywolfram.ru;
    return 301 https://$server_name$request_uri;
}
server {
    listen 443 ssl;
    server_name pm.mywolfram.ru;
    ssl on;ssl_certificate /etc/letsencrypt/live/pm.mywolfram.ru/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/pm.mywolfram.ru/privkey.pem; # managed by Certbot
    location / {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_pass https://192.168.1.164:8006;
        proxy_buffering off;
        client_max_body_size 0;
        proxy_connect_timeout 3600s;
        proxy_read_timeout 3600s;
        proxy_send_timeout 3600s;
        send_timeout 3600s;
    }
}

Проверяем что все в порядке

nginx -t

Перезагружаем nginx

service nginx reload

Теперь мы можем получить доступ к веб интерфейсу proxmox, отовсюду и безопасно.

de.mywolfram.ru

Подключаться к качалке из вне тоже лишним не будет.

Создаем домен третьего уровня для deluge, это я про de.mywolfram.ru на сайте dns.hi.net.

nano /etc/nginx/sites-enabled/de.mywolfram.ru
server {
    listen 80;
    server_name de.mywolfram.ru;
    return 301 https://$server_name$request_uri;
}
server {
    listen 443 ssl;
    server_name de.mywolfram.ru;
    ssl_certificate_key
}
nginx -t
service nginx reload
certbot --nginx -d de.mywolfram.ru

Редактируем полученный конфиг.

nano /etc/nginx/sites-enabled/de.mywolfram.ru
server {
    listen 80;
    server_name de.mywolfram.ru;
    return 301 https://$server_name$request_uri;
}
server {
    listen 443 ssl; # managed by Certbot
    server_name de.mywolfram.ru;
    access_log /var/log/nginx/de.mywolfram.ru.access;
    error_log /var/log/nginx/de.mywolfram.ru.error;
    ssl_certificate /etc/letsencrypt/live/de.mywolfram.ru/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/de.mywolfram.ru/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
    add_header Strict-Transport-Security "max-age=31536000" always; # managed by Certbot
    ssl_trusted_certificate /etc/letsencrypt/live/de.mywolfram.ru/chain.pem; # managed by Certbot
    ssl_stapling on; # managed by Certbot ssl_stapling_verify on; # managed by Certbot
    location / {
        proxy_pass http://192.168.1.92:8112;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}
nginx -t
service nginx reload

Радуемся!

Zabbix сервер.

И к Zabbix серверу мы так же хотим качественно попадать, по высококачественному домену третьего уровня.

nano /etc/nginx/sites-enabled/zb.mywolfram.ru
server { 
    listen 80; 
    server_name zb.mywolfram.ru; 
    return 301 https://$server_name$request_uri; 
} 
server { 
    listen 443 ssl; 
    server_name zb.mywolfram.ru; 
    ssl_certificate_key  
}

Смотрим статус

nginx -t

Перезапускам Ngings

service nginx reload

Получаем сертификат

certbot --nginx -d zb.mywolfram.ru

Правим конфиг

server {
    listen 80;
    server_name zb.mywolfram.ru;
    return 301 https://$server_name$request_uri;
}
server {
    listen 443 ssl;
    server_name zb.mywolfram.ru;
    ssl_certificate /etc/letsencrypt/live/zb.mywolfram.ru/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/zb.mywolfram.ru/privkey.pem; # managed by Certbot
    location / {
        proxy_pass http://192.168.1.226;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

Всё готово, незабываем проверить статус и перезагрузиться.

nginx -t
service nginx reload

Готово!