Если сайт размещается на сервере который недоступен из РФ, то можно пустить трафик через промежуточный сервер. При условии, что сайт доступен из промежуточного сервера.
1. На промежуточном сервере, в панеле управления aapanel создаем домен или поддомен.
например my.syte.ru
2. В настройках домена Nginx указываем следующие настройки.
где:
51.91.109.13 - ip конечного, основного сервера на котором размещается сайт.
my.syte.ru - домен или поддомен сайта.
Обязательно у домена должен быть ssl сертификат
полный конфиг для HTTP + HTTPS, совместимый с aaPanel:
# --- HTTP: перенаправляем на HTTPS ---
server {
listen 80;
server_name panelovh.appvault.pro;
return 301 https://$host$request_uri;
}
# --- HTTPS: проксируем на 51.91.109.131 ---
server {
listen 443 ssl;
server_name panelovh.appvault.pro;
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/panelovh.appvault.pro;
include /www/server/panel/vhost/nginx/extension/panelovh.appvault.pro/*.conf;
#CERT-APPLY-CHECK--START
include /www/server/panel/vhost/nginx/well-known/panelovh.appvault.pro.conf;
#CERT-APPLY-CHECK--END
#SSL-START ... НЕ ТРОГАТЬ ЭТУ СТРОКУ И ЗАКОММЕНТИРОВАННУЮ СТРОКУ НИЖЕ
#error_page 404/404.html;
ssl_certificate /www/server/panel/vhost/cert/panelovh.appvault.pro/fullchain.pem;
ssl_certificate_key /www/server/panel/vhost/cert/panelovh.appvault.pro/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE+AESGCM:DHE+AESGCM;
ssl_prefer_server_ciphers off;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security "max-age=31536000";
error_page 497 https://$host$request_uri;
#SSL-END
#ERROR-PAGE-START
error_page 404 /404.html;
error_page 502 /502.html;
#ERROR-PAGE-END
include enable-php-84.conf;
include /www/server/panel/vhost/rewrite/panelovh.appvault.pro.conf;
# === ПРОКСИ ДЛЯ HTTPS ===
location / {
proxy_pass https://51.91.109.131;
proxy_set_header Host panelovh.appvault.pro;
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;
proxy_ssl_verify off;
proxy_ssl_server_name on;
proxy_redirect off;
}
# Запрет служебных файлов
location ~ ^/(\.user.ini|\.htaccess|\.git|\.env|\.svn|\.project|LICENSE|README.md) {
return 404;
}
location ~ \.well-known {
allow all;
}
if ( $uri ~ "^/\.well-known/.*\.(php|jsp|py|js|css|lua|ts|go|zip|tar\.gz|rar|7z|sql|bak)$" ) {
return 403;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
expires 30d;
access_log off;
}
location ~ .*\.(js|css)?$ {
expires 12h;
access_log off;
}
access_log /www/wwwlogs/panelovh.appvault.pro.log;
error_log /www/wwwlogs/panelovh.appvault.pro.error.log;
}
3. На основном сервере, который не доступен из интернета создаем сайт my.syte.ru или сайт уже должен быть создан.
Если нужно перенаправлять трафик на определенные порты или ссылку с потами
например на это https://51.91.109.131:38190/71dc09ed/
Пишем такое в разделе # === ПРОКСИ ДЛЯ HTTPS ===
location / {
proxy_pass https://51.91.109.131:38190/71dc09ed/;
proxy_set_header Host panelovh.appvault.pro;
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;
proxy_ssl_verify off;
proxy_ssl_server_name on;
proxy_redirect ~^/71dc09ed/(.*)$ /$1;
}
4. Меняем DNS сервера. например у reg.ru.
Добавляем A запись с указанием ip адреса промежуточного сервреа, через который будет проходить трафик и перенаправляться на основной.
Теперь весь трафик будет проходить через промежуточный сервер.
Пользователь -> промежуточный сервер -> основной сервер который недоступен напрямую от пользователя.