Как перенаправить ЛЮБОЙ сайт, не найденный в Hestia, на другой сервер - Nginx proxy manager

Как перенаправить ЛЮБОЙ сайт, не найденный в Hestia, на другой сервер - Nginx proxy manager

Я хочу: если ЛЮБОЙ сайт не найден на (сервер Hestia 192.168.0.37), то перенаправить (прокси-менеджер Nginx 192.168.0.36)

Данный:

  1. Сервер Гестия 192.168.0.37
  2. Менеджер прокси-серверов Nginx 192.168.0.36
  3. Сайт для теста testsite.com (создан в прокси-менеджере Nginx) (Hestia не имеет никаких записей)
  4. hestia посты:
#netstat -nt4ulp | grep nginx
tcp        0      0 0.0.0.0:80 LISTEN /nginx: mast 
tcp        0      0 0.0.0.0:443 LISTEN /nginx: mast 
tcp        0      0 0.0.0.0:8083 LISTEN/nginx: master  
tcp        0      0 127.0.0.1:8084 LISTEN /nginx: mast 
#netstat -nt4ulp | grep apache
tcp        0      0 192.168.0.37:8443 LISTEN /apache2     
tcp        0      0 192.168.0.37:8080 LISTEN /apache2     
tcp        0      0 127.0.0.1:8081 LISTEN /apache2  

========================================================================

Я попробую:

редактировать /etc/nginx/conf.d/192.168.0.37.conf

server {
    listen 80 default_server;
    server_name _;
    
    location / {
        proxy_pass http://192.168.0.36:80;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

server {
    listen 443 ssl default_server;
    server_name _;
    
        ssl_certificate     /usr/local/hestia/ssl/certificate.crt;
        ssl_certificate_key /usr/local/hestia/ssl/certificate.key;

    
    location / {
        proxy_pass https://192.168.0.36:443;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

========================================================================

я попробую

HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Fri, 15 Sep 2023 17:54:48 GMT
Content-Type: text/html
Content-Length: 162
Connection: keep-alive
Location: https://testsite.com/

и посмотреть страницу из (сервер Hestia 192.168.0.37) DocumentRoot /var/www/html/index.html из /etc/apache2/conf.d/192.168.0.37.conf

Listen 192.168.0.37:8443
Listen 192.168.0.37:8080
<VirtualHost 192.168.0.37:8080>
    ServerName 192.168.0.37
    DocumentRoot /var/www/html2/
    Alias /error/ /var/www/document_errors/

</VirtualHost>

<VirtualHost 192.168.0.37:8443>
    ServerName 192.168.0.37
    DocumentRoot /var/www/html/
    Alias /error/ /var/www/document_errors/

    SSLEngine on
    SSLVerifyClient none
    SSLCertificateFile         /usr/local/hestia/ssl/certificate.crt
    SSLCertificateKeyFile      /usr/local/hestia/ssl/certificate.key

</VirtualHost>

почему, как исправить?

решение1

Это должен быть комментарий, но он немного длинный.

Я не знаю, о чем вы здесь спрашиваете.

Если вы завершаете SSL на сервере nginx, то либо у вас есть абсолютно чудовищный SSL-сертификат, либо каждый сайт настроен как отдельный сервер{...} в nginx.

и посмотрите страницу с (сервер Hestia 192.168.0.37)

Да, это именно то, что я ожидал от этой конфигурации. Вы просили http[s]://192.168.0.36, вы получили http[s]://192.168.0.36

Если вы хотите сохранить поведение дляhttps://192.168.0.36(который недоступен за пределами подсети) при добавлении нового поведения для неизвестных виртуальных хостов вам понадобится запись DNS или запись хостов на прокси-сервере с новым именем и соответствующий виртуальный хост в Apache.

Альтернативный вариант, поскольку ни один здравомыслящий человек не будет пытаться управлять несколькими сайтами с помощью одного и того же сертификата, — просто вернуть перенаправление с сервера по умолчанию в nginx.

Связанный контент