LINUX.ORG.RU

История изменений

Исправление kostik87, (текущая версия) :

Пробовал делать с Nginx proxy_pass, но так и не разобрался

А в чём тут разбираться?

location /some/path/ {
    proxy_pass http://127.0.0.1;
}

https://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_pass

На сервере с которого нужно делать перенаправление указываешь в конфигурации nginx:

server {
    listen 80;
    server_name domain.ru;

    root /var/www/html/domain.ru;

    location / {
      proxy_pass http://IP_адрес_второго_серсера/ ;
      try_files $uri $uri/ /index.html;

      # Если нужно чтобы второй сервер видел IP клиента;
      proxy_set_header        Host            $host;
      proxy_set_header        X-Real-IP       $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
  
    }

    # Если нужно перенаправление на SSL (https)
    return 301 https://$host$request_uri;
}

IP_адрес_второго_серсера - лучше внутренний IP адрес, в твоём случае в VPN сети.

Если нужно перенаправление на SSL (https) то описываешь и вторую секцию:

server {
   listen 443;
   server_name domain.ru;

   root /var/www/html/domain.ru;

       location / {
         proxy_pass http://IP_адрес_второго_серсера/ ;
         try_files $uri $uri/ /index.html;
       }

    ssl_certificate /etc/letsencrypt/live/domain.ru/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/domain.ru/privkey.pem; # managed by Certbot

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;

    ssl_stapling on;
    ssl_stapling_verify on;
    #add_header Strict-Transport-Security max-age=15768000;

    if ($scheme != "https") {
        return 301 https://$host$request_uri;
    }
}

Можно в одной секции server:

server {
    listen 80;
    server_name domain.ru;

    root /var/www/html/domain.ru;

    location / {
      proxy_pass http://IP_адрес_второго_серсера/ ;
      try_files $uri $uri/ /index.html;

      # Если нужно чтобы второй сервер видел IP клиента;
      proxy_set_header        Host            $host;
      proxy_set_header        X-Real-IP       $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
  
    }

   listen 443 ssl;
   
   ssl_certificate /etc/letsencrypt/live/domain.ru/fullchain.pem; # managed by Certbot
   ssl_certificate_key /etc/letsencrypt/live/domain.ru/privkey.pem; # managed by Certbot

   ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
   ssl_prefer_server_ciphers on;

   ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
   ssl_session_timeout 1d;
   ssl_session_cache shared:SSL:50m;

   ssl_stapling on;
   ssl_stapling_verify on;

   if ($scheme != "https") {
       return 301 https://$host$request_uri;
   }
}

Исправление kostik87, :

Пробовал делать с Nginx proxy_pass, но так и не разобрался

А в чём тут разбираться?

location /some/path/ {
    proxy_pass http://127.0.0.1;
}

https://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_pass

На сервере с которого нужно делать перенаправление указываешь в конфигурации nginx:

server {
    listen 80;
    server_name domain.ru;

    root /var/www/html/domain.ru;

    location / {
      proxy_pass http://IP_адрес_второго_серсера/ ;
      try_files $uri $uri/ /index.html;

      # Если нужно чтобы второй сервер видел IP клиента;
      proxy_set_header        Host            $host;
      proxy_set_header        X-Real-IP       $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

  
    }

    # Если нужно перенаправление на SSL (https)
    return 301 https://$host$request_uri;
}

IP_адрес_второго_серсера - лучше внутренний IP адрес, в твоём случае в VPN сети.

Если нужно перенаправление на SSL (https) то описываешь и вторую секцию:

server {
   listen 443;
   server_name domain.ru;

   root /var/www/html/domain.ru;

       location / {
         proxy_pass http://IP_адрес_второго_серсера/ ;
         try_files $uri $uri/ /index.html;
       }

    ssl_certificate /etc/letsencrypt/live/domain.ru/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/domain.ru/privkey.pem; # managed by Certbot

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;

    ssl_stapling on;
    ssl_stapling_verify on;
    #add_header Strict-Transport-Security max-age=15768000;

    if ($scheme != "https") {
        return 301 https://$host$request_uri;
    }
}

Можно в одной секции server:

server {
    listen 80;
    server_name domain.ru;

    root /var/www/html/domain.ru;

    location / {
      proxy_pass http://IP_адрес_второго_серсера/ ;
      try_files $uri $uri/ /index.html;

      # Если нужно чтобы второй сервер видел IP клиента;
      proxy_set_header        Host            $host;
      proxy_set_header        X-Real-IP       $remote_addr;
      proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

  
    }

   listen 443 ssl;
   
   ssl_certificate /etc/letsencrypt/live/domain.ru/fullchain.pem; # managed by Certbot
   ssl_certificate_key /etc/letsencrypt/live/domain.ru/privkey.pem; # managed by Certbot

   ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
   ssl_prefer_server_ciphers on;

   ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
   ssl_session_timeout 1d;
   ssl_session_cache shared:SSL:50m;

   ssl_stapling on;
   ssl_stapling_verify on;

   if ($scheme != "https") {
       return 301 https://$host$request_uri;
   }
}

Исправление kostik87, :

Пробовал делать с Nginx proxy_pass, но так и не разобрался

А в чём тут разбираться?

location /some/path/ {
    proxy_pass http://127.0.0.1;
}

https://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_pass

На сервере с которого нужно делать перенаправление указываешь в конфигурации nginx:

server {
    listen 80;
    server_name domain.ru;

    root /var/www/html/domain.ru;

    location / {
      proxy_pass http://IP_адрес_второго_серсера/ ;
      try_files $uri $uri/ /index.html;   
    }

    # Если нужно перенаправление на SSL (https)
    return 301 https://$host$request_uri;
}

IP_адрес_второго_серсера - лучше внутренний IP адрес, в твоём случае в VPN сети.

Если нужно перенаправление на SSL (https) то описываешь и вторую секцию:

server {
   listen 443;
   server_name domain.ru;

   root /var/www/html/domain.ru;

       location / {
         proxy_pass http://IP_адрес_второго_серсера/ ;
         try_files $uri $uri/ /index.html;
       }

    ssl_certificate /etc/letsencrypt/live/domain.ru/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/domain.ru/privkey.pem; # managed by Certbot

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;

    ssl_stapling on;
    ssl_stapling_verify on;
    #add_header Strict-Transport-Security max-age=15768000;

    if ($scheme != "https") {
        return 301 https://$host$request_uri;
    }
}

Исходная версия kostik87, :

Пробовал делать с Nginx proxy_pass, но так и не разобрался

А в чём тут разбираться?

location /some/path/ {
    proxy_pass http://127.0.0.1;
}

https://nginx.org/ru/docs/http/ngx_http_proxy_module.html#proxy_pass

На сервере с которого нужно делать перенаправление указываешь в конфигурации nginx:

server {
    listen 80;
    server_name domain.ru;

    location / {
      proxy_pass http://IP_адрес_второго_серсера/ ;
      try_files $uri $uri/ /index.html;   
    }

    # Если нужно перенаправление на SSL (https)
    return 301 https://$host$request_uri;
}

IP_адрес_второго_серсера - лучше внутренний IP адрес, в твоём случае в VPN сети.

Если нужно перенаправление на SSL (https) то описываешь и вторую секцию:

server {
   listen 443;
   server_name domain.ru;

   root /var/www/html/empty;

       location / {
         proxy_pass http://IP_адрес_второго_серсера/ ;
         try_files $uri $uri/ /index.html;
       }

    ssl_certificate /etc/letsencrypt/live/domain.ru/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/domain.ru/privkey.pem; # managed by Certbot

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;

    ssl_stapling on;
    ssl_stapling_verify on;
    #add_header Strict-Transport-Security max-age=15768000;

    if ($scheme != "https") {
        return 301 https://$host$request_uri;
    }
}