Для работы иногда бывает нужно создавать домены для тестирования. Т.е. у нас есть рабочая машина или сервер и нам надо опубликовать его в Интернет по какому-то адресу. Для этого достаточно
Команды для выполненния на сервере nginx
Создаем файл настроек домена в папке /etc/nginx/sites-available/
# mit1 clients bases
server {
listen 80;
server_name dev.mitok.ru;
if ($host = dev.mitok.ru) {
return 301 https://$host$request_uri;
} # managed by Certbot
}
server {
listen 443 ssl;
keepalive_timeout 70;
server_name dev.mitok.ru;
access_log /var/log/nginx/dev.mitok.ru-access.log;
error_log /var/log/nginx/dev.mitok.ru-error.log;
ssl_certificate /etc/letsencrypt/live/dev.mitok.ru/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/dev.mitok.ru/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
location / {
proxy_pass http://172.16.1.44:80$request_uri;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
}
}
Комментируем строки
# mit1 clients bases
server {
listen 80;
server_name dev.mitok.ru;
if ($host = dev.mitok.ru) {
return 301 https://$host$request_uri;
} # managed by Certbot
}
server {
listen 443 ssl;
keepalive_timeout 70;
server_name dev.mitok.ru;
# access_log /var/log/nginx/dev.mitok.ru-access.log;
# error_log /var/log/nginx/dev.mitok.ru-error.log;
# ssl_certificate /etc/letsencrypt/live/dev.mitok.ru/fullchain.pem; # managed by Certbot
# ssl_certificate_key /etc/letsencrypt/live/dev.mitok.ru/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
location / {
proxy_pass http://172.16.1.44:80$request_uri;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
}
}
Создаем символическую ссылку
sudo ln -s /etc/nginx/sites-available/dev.mitok.ru /etc/nginx/sites-enabled/dev.mitok.ru
Проверяем на корректность настроек домена
sudo nginx -t
Перезагружаем настройки сервера
sudo nginx -s reload
Получаем сертификат на домен
sudo certbot --nginx -d dev.mitok.ru
Перезагружаем настройки сервера
sudo nginx -s reload
Профит. Домен работает https://dev.mitok.ru
Продление домена
В командной строке выполнить команду от имени администратора
net stop Apache2.4
"C:\Program Files\Certbot\bin\certbot.exe" renew
net start Apache2.4