nginx rewrite url cambia anche l'URL nel browser


0

ecco la mia configurazione nginx per la porta 80.

location / {
        rewrite ^ https://$host$request_uri? permanent;
    }

    location /admin {
        rewrite ^ https://$host:7000$request_uri permanent;
    }

quello che voglio è quando l'utente digita http://mywebsite.com/admin , l'URL deve diventare https://mywebsite.com:7000 . il fatto è che l'URL non cambia internamente e viene anche modificato nel browser. Come faccio in modo che l'URL del browser non venga modificato?

Risposte:


2

Quello che vuoi è un proxy inverso .

Prova questo:

location / {
        rewrite ^ https://$host$request_uri? permanent;
    }

    location /admin {
        proxy_pass https://localhost:7000;
    }

Se il servizio è in esecuzione su una porta non SSL, utilizzare http://localhost:7000;invece.


Grazie, ma quando l'ho usato, non carica affatto i file js / css e dice 404 non trovato.
Nika Kurashvili,

@NikaKhurashvili: penso che si debba aggiungere una /dopo il porto: proxy_pass https://localhost:7000/.
Thomas,

L'ho aggiunto. continua a non funzionare.
Nika Kurashvili,

@NikaKhurashvili: quindi controlla i tuoi file di log nginx su / var / log / nginx o ovunque tu abbia configurato i log per andare.
Thomas,

1
Da dove? Porta 80 o dalla porta 7000? Fornisci esempi per gli URL che non funzionano con il percorso completo. O vuoi mappare /admina https://localhost:7000/adminposto?
Freddy
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.