Установка брандмауэра UFW
Добавить в разрешенные SSH и NGINX
Включить UFW
Установить nginx
Запустить nginx
Добавить в дефолтный конфиг nginx список серверов с проксируемым сайтом.
Окрыть конфиг
После секции server{...} добавить
111.111.111.111:80 - это IP и порт сервера, на котором висит сайт
Сохранить конфиг и выйти. Для проверки правильности ввести команду
Добавить хост
в файле указать
site.domain - домен Вашего сайта
Для проверки правильности ввести команду
Создать символьную ссылку
Установить Certbot для установки сертификатов Lets'Encrypt
Создать сертификат для домена
На вопрос об автоматическом перенаправлении с http на http ответить отказом, в конфиге это уже указано.
После создания сертификата в конфиге появятся строки
Проверить перевыпуск сертификатов командой
***На сервере с сайтом должно быть отключено перенаправление с http на https, т.к. все запросы идут на 80-й порт и сайт выдаст бесконечную перезагрузку.
Bash:
apt install ufw -y
Bash:
ufw allow SSH
ufw allow "Nginx Full"
Bash:
ufw enable
Bash:
apt install nginx -y
Bash:
service nginx start
Окрыть конфиг
Bash:
nano /etc/nginx/sites-available/default
NGINX:
upstream node {
server 111.111.111.111:80;
}
Сохранить конфиг и выйти. Для проверки правильности ввести команду
Bash:
nginx -t
Bash:
nano /etc/nginx/sites-available/site.domain
NGINX:
server {
server_name site.domain www.site.domain;
return 301 https://site.domain$request_uri;
}
server {
server_name site.domain www.site.domain;
listen [::]:443 ssl;
listen 443 ssl;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port 443;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_pass http://node;
}
}
Для проверки правильности ввести команду
Bash:
nginx -t
Bash:
ln -s /etc/nginx/sites-available/site.domain /etc/nginx/sites-enabled/
Bash:
apt install python3-certbot-nginx -y
Bash:
certbot --nginx -d site.domain -d www.site.domain
После создания сертификата в конфиге появятся строки
NGINX:
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/site.domain/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/site.domain/privkey.pem; # managed by Certbot
Bash:
certbot renew --dry-run
Последнее редактирование: