Proxy server ssl con Nginx

Pubblicità

Fils!

Nuovo Utente
Messaggi
2
Reazioni
0
Punteggio
2
buongiorno a tutti, ho un problema di mixed content con il mio proxy Nginx su windows. ho caricato il certificato per ssl, riesco a collegarmi alla prima pagina ma nell'inserire le credenziali vengo bloccato dal mixed content, allego le immagini della pagina caricata in http collegandomi al dispositivo e quella sul server Nginx.
è da settimane che ci sto dietro e non ne esco (premetto che è la prima volta che utilizzi nginx, quindi perdonatemi), questo è il mio blocco server:

Codice:
location / {
        proxy_pass http://192.168.1.40:150;
    proxy_set_header Host $host;
    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;

        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
        add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
        add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
    }
}
server {
    listen 443 ssl;
    server_name 192.168.1.6;
      ssl_certificate C:/nginx-1.24.0/ssl/certificate.pem;
      ssl_certificate_key C:/nginx-1.24.0/ssl/privatekey.key;

    location / {
        proxy_pass http://192.168.1.40:443;
    proxy_set_header Host $host;
    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;

        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
        add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
        add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
    }
}

https-with-nginx.webp http-without-nginx.webp mixed-content-error.webp

Grazie!
 
Ultima modifica da un moderatore:
mi sembra cannata quella config NGINX dovrebbe fare una roba del genere:

NGINX:
server {
    root /var/www/html;
    server_name my.domain.co.uk;

    location / {
        proxy_pass http://192.168.100.100
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }

    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/my.domain.co.uk/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/my.domain.co.uk/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

server {
    if ($host = my.domain.co.uk) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    listen 80 ;
    listen [::]:80 ;
    server_name my.domain.co.uk;
    return 404; # managed by Certbot
}
 
Stai cercando di fare reverse proxy per pubblicare in HTTPS quel sito su http://192.168.1.40:150 ?
Sì esatto, il problema è che il dispositivo non è configurabile, quindi devo per forza usare un reverse proxy per le connessioni sicure

mi sembra cannata quella config NGINX dovrebbe fare una roba del genere:
Ooops, manca un pezzo di conf che posto qui sotto, l'ip è interno quindi non mi serve dargli un nome anche se posso

Codice:
server {
    listen 150 ssl;
server_name 192.168.1.6;
      ssl_certificate C:/nginx-1.24.0/ssl/certificate.pem;
      ssl_certificate_key C:/nginx-1.24.0/ssl/privatekey.key;

location / {
        proxy_pass http://192.168.1.40:150;
    proxy_set_header Host $host;
    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;

        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
        add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
        add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
    }
}
server {
    listen 443 ssl;
    server_name 192.168.1.6;
      ssl_certificate C:/nginx-1.24.0/ssl/certificate.pem;
      ssl_certificate_key C:/nginx-1.24.0/ssl/privatekey.key;

    location / {
        proxy_pass http://192.168.1.40:443;
    proxy_set_header Host $host;
    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;

        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
        add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
        add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
    }
}

in pratica è in ascolto sulle 2 porte, sonno costretto da quel cavolo di dispositivo ad usare anche la 443 ma non per l'ssl quanto per uno script. Il problema è che l'192.168.1.40:150 reindirizza sulla 443 per le risorse che vedi nell'allegato, quindi sono bloccato, dovrei trovare il pubblicare quello script sotto l'192.168.1.40:443 e l' ape-jsf/Source sotto 192.168.1.40:150 in https

https-with-nginx.webp http-without-nginx.webp
 
Pubblicità
Pubblicità
Indietro
Top