Como redirecionar QUALQUER site não encontrado em Hestia para outro servidor - gerenciador de proxy Nginx

Como redirecionar QUALQUER site não encontrado em Hestia para outro servidor - gerenciador de proxy Nginx

Eu quero: se QUALQUER site não for encontrado em (servidor Hestia 192.168.0.37), então redirecionado (gerenciador de proxy Nginx 192.168.0.36)

Dado:

  1. Servidor Héstia 192.168.0.37
  2. Gerenciador de proxy Nginx 192.168.0.36
  3. Site para teste testsite.com (criado no gerenciador de proxy Nginx) (Hestia não possui nenhum registro)
  4. postagens de héstia:
#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  

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

Eu tento:

edite /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;
    }
}

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

eu tento

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/

e veja a página de (servidor Hestia 192.168.0.37) DocumentRoot /var/www/html/index.html de /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>

por que, como consertar?

Responder1

Este deveria ser um comentário, mas é um pouco longo.

Não sei o que você está perguntando aqui.

Se você estiver encerrando o SSL no servidor nginx, então você tem um monstro absoluto de um certificado SSL ou tem cada site configurado como um servidor separado{...} no nginx.

e veja a página de (servidor Hestia 192.168.0.37)

Sim, é exatamente isso que eu esperaria desta configuração. Você pediu http[s]://192.168.0.36 e recebeu http[s]://192.168.0.36

Se você quiser preservar o comportamento porhttps://192.168.0.36(que não é acessível fora da sub-rede) ao adicionar um novo comportamento para os vhosts desconhecidos, você precisará de um registro DNS ou entrada de hosts no proxy com um novo nome e um host virtual correspondente no Apache.

Alternativamente, como qualquer pessoa sã não tentaria operar vários sites com o mesmo certificado, basta retornar um redirecionamento do servidor padrão no nginx.

informação relacionada