Настройка проксирования трафика через внешний сервер на Nginx и aaPanel. Запускаем работу сайта через промежуточный сервер.

Если сайт размещается на сервере который недоступен из РФ, то можно пустить трафик через промежуточный сервер. При условии, что  сайт доступен из промежуточного сервера.


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 адреса промежуточного сервреа, через который будет проходить трафик и перенаправляться на основной.

 

Теперь весь трафик будет проходить через промежуточный сервер.

Пользователь -> промежуточный сервер -> основной сервер который недоступен напрямую от пользователя.