Спасибо подписчику Nevox за инструкцию
все действия выполнялись на Ubuntu 24
curl -s -S -L <https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh> | sh -s -- -v
ufw allow 3000/tcp
ufw allow 3001/tcp
ufw reload
systemctl stop nginx
certbot --nginx -d ваш_сайт.com -d ваш_сайт.com
cd /etc/nginx/sites-available
nano ваш_сайт.com
Содержимое файла ваш_сайт.com (ваш_сайт.com заменить на свой сайт):
server {
server_tokens off;
server_name ваш_сайт.com;
listen 10444 ssl http2 proxy_protocol;
listen [::]:10444 ssl http2 proxy_protocol;
index index.html index.htm index.php index.nginx-debian.html;
root /var/www/html/;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!eNULL:!MD5:!DES:!RC4:!ADH:!SSLv3:!EXP:!PSK:!DSS;
ssl_certificate /etc/letsencrypt/live/ваш_сайт.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ваш_сайт.com/privkey.pem;
if ($host !~* ^(.+\\.)?ваш_сайт.com$ ){return 444;}
if ($scheme ~* https) {set $safe 1;}
if ($ssl_server_name !~* ^(.+\\.)?ваш_сайт.com$ ) {set $safe "${safe}0"; }
if ($safe = 10){return 444;}
if ($request_uri ~ "(\\"|'|`|~|,|:|--|;|%|\\$|&&|\\?\\?|0x00|0X00|\\||\\|\\{|\\}|\\[|\\]|<|>|\\.\\.\\.|\\.\\.\\/|\\/\\/\\/)"){set $hack 1;}
error_page 400 401 402 403 500 501 502 503 504 =404 /404;
proxy_intercept_errors on;
port_in_redirect off; # Нужен чтобы панель при логине не редиректила на порт, на котором она работает
#Adguard DoH
#Adguard DoH
location /dns-query { # Рекомендую сменить на какой-нибудь левый путь, иначе боты будут стучаться
proxy_pass <https://127.0.0.1:3001/dns-query>;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header Host $proxy_protocol_addr;
proxy_set_header X-Real-IP $proxy_protocol_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
#proxy_buffering off;
}
#AdGuard Panel
location /aghome/ {
proxy_pass <http://127.0.0.1:3000/>;
proxy_set_header Host $host;
proxy_redirect / /aghome/;
proxy_cookie_path / /aghome/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
cd /etc/nginx/sites-enabled/
ln -s /etc/nginx/sites-available/ваш_сайт.com
8.1 80.conf (добавить в список свой сайт):
cd /etc/nginx/sites-available
nano 80.conf
Содержимое файла :
server {
listen 80;
server_name ваш_сайт1.com ваш_сайт2.com ваш_сайт(adguard).com;
return 301 https://$host$request_uri;
}