ваше сообщение коммита

This commit is contained in:
2026-01-14 21:10:15 +03:00
parent e93b9f3a8f
commit b8b4269fe8
11 changed files with 239 additions and 39 deletions

View File

@@ -28,6 +28,25 @@ http {
add_header Content-Type text/plain;
}
# Разрешаем доступ к robots.txt и sitemap.xml для поисковых систем
location = /robots.txt {
proxy_pass http://${BACKEND_CONTAINER}:8000/api/pages/public/robots.txt;
proxy_set_header Host $host;
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;
add_header Content-Type text/plain;
}
location = /sitemap.xml {
proxy_pass http://${BACKEND_CONTAINER}:8000/api/pages/public/sitemap.xml;
proxy_set_header Host $host;
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;
add_header Content-Type application/xml;
}
# Основной location
location / {
# Rate limiting для основных страниц (отключено)

View File

@@ -13,13 +13,21 @@ http {
# limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=10r/s;
# limit_req_zone $binary_remote_addr zone=api_limit_per_ip:10m rate=5r/s;
# Блокировка известных сканеров и вредоносных ботов
# Блокировка известных сканеров и вредоносных ботов (исключая легитимные поисковые боты)
map $http_user_agent $bad_bot {
default 0;
~*bot 1;
~*crawler 1;
~*spider 1;
~*scanner 1;
# Разрешаем легитимные поисковые боты
~*googlebot 0;
~*bingbot 0;
~*slurp 0;
~*duckduckbot 0;
~*baiduspider 0;
~*yandex 0;
~*sogou 0;
~*exabot 0;
~*facebot 0;
~*ia_archiver 0;
# Блокируем вредоносные боты и сканеры
~*sqlmap 1;
~*nikto 1;
~*dirb 1;
@@ -29,6 +37,9 @@ http {
~*zap 1;
~*nessus 1;
~*openvas 1;
~*masscan 1;
~*nmap 1;
~*scanner 1;
~*Chrome/[1-4][0-9]\. 1;
~*Firefox/[1-6][0-9]\. 1;
~*Safari/[1-9]\. 1;

View File

@@ -37,13 +37,21 @@ function getNginxConfig(domain, serverPort) {
# limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=10r/s;
# limit_req_zone $binary_remote_addr zone=api_limit_per_ip:10m rate=50r/s;
# Блокировка известных сканеров и вредоносных ботов
# Блокировка известных сканеров и вредоносных ботов (исключая легитимные поисковые боты)
map $http_user_agent $bad_bot {
default 0;
~*bot 1;
~*crawler 1;
~*spider 1;
~*scanner 1;
# Разрешаем легитимные поисковые боты
~*googlebot 0;
~*bingbot 0;
~*slurp 0;
~*duckduckbot 0;
~*baiduspider 0;
~*yandex 0;
~*sogou 0;
~*exabot 0;
~*facebot 0;
~*ia_archiver 0;
# Блокируем вредоносные боты и сканеры
~*sqlmap 1;
~*nikto 1;
~*dirb 1;
@@ -53,6 +61,9 @@ map $http_user_agent $bad_bot {
~*zap 1;
~*nessus 1;
~*openvas 1;
~*masscan 1;
~*nmap 1;
~*scanner 1;
}
server {
@@ -74,12 +85,31 @@ server {
return 404;
}
# Защита от доступа к чувствительным файлам
location ~* /(\\\\.htaccess|\\\\.htpasswd|\\\\.env|\\\\.git|\\\\.svn|\\\\.DS_Store|Thumbs\\\\.db|web\\\\.config|robots\\\\.txt|sitemap\\\\.xml)$ {
# Защита от доступа к чувствительным файлам (исключаем robots.txt и sitemap.xml для SEO)
location ~* /(\\\\.htaccess|\\\\.htpasswd|\\\\.env|\\\\.git|\\\\.svn|\\\\.DS_Store|Thumbs\\\\.db|web\\\\.config)$ {
deny all;
return 404;
}
# Разрешаем доступ к robots.txt и sitemap.xml для поисковых систем
location = /robots.txt {
proxy_pass http://localhost:8000/api/pages/public/robots.txt;
proxy_set_header Host $host;
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;
add_header Content-Type text/plain;
}
location = /sitemap.xml {
proxy_pass http://localhost:8000/api/pages/public/sitemap.xml;
proxy_set_header Host $host;
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;
add_header Content-Type application/xml;
}
# Основной location для фронтенда
location / {
# Rate limiting для основных страниц (отключено)
@@ -476,13 +506,21 @@ app.post('/tunnel/create', async (req, res) => {
# limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=10r/s;
# limit_req_zone $binary_remote_addr zone=api_limit_per_ip:10m rate=50r/s;
# Блокировка известных сканеров и вредоносных ботов
# Блокировка известных сканеров и вредоносных ботов (исключая легитимные поисковые боты)
map $http_user_agent $bad_bot {
default 0;
~*bot 1;
~*crawler 1;
~*spider 1;
~*scanner 1;
# Разрешаем легитимные поисковые боты
~*googlebot 0;
~*bingbot 0;
~*slurp 0;
~*duckduckbot 0;
~*baiduspider 0;
~*yandex 0;
~*sogou 0;
~*exabot 0;
~*facebot 0;
~*ia_archiver 0;
# Блокируем вредоносные боты и сканеры
~*sqlmap 1;
~*nikto 1;
~*dirb 1;
@@ -492,6 +530,9 @@ map $http_user_agent $bad_bot {
~*zap 1;
~*nessus 1;
~*openvas 1;
~*masscan 1;
~*nmap 1;
~*scanner 1;
}
server {
@@ -513,12 +554,31 @@ server {
return 404;
}
# Защита от доступа к чувствительным файлам
location ~* /(\\\\.htaccess|\\\\.htpasswd|\\\\.env|\\\\.git|\\\\.svn|\\\\.DS_Store|Thumbs\\\\.db|web\\\\.config|robots\\\\.txt|sitemap\\\\.xml)$ {
# Защита от доступа к чувствительным файлам (исключаем robots.txt и sitemap.xml для SEO)
location ~* /(\\\\.htaccess|\\\\.htpasswd|\\\\.env|\\\\.git|\\\\.svn|\\\\.DS_Store|Thumbs\\\\.db|web\\\\.config)$ {
deny all;
return 404;
}
# Разрешаем доступ к robots.txt и sitemap.xml для поисковых систем
location = /robots.txt {
proxy_pass http://localhost:8000/api/pages/public/robots.txt;
proxy_set_header Host $host;
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;
add_header Content-Type text/plain;
}
location = /sitemap.xml {
proxy_pass http://localhost:8000/api/pages/public/sitemap.xml;
proxy_set_header Host $host;
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;
add_header Content-Type application/xml;
}
# Основной location для фронтенда
location / {
# Rate limiting для основных страниц (отключено)

View File

@@ -190,3 +190,4 @@ onMounted(async () => {
}
</style>