Sono abituato ad usare Apache con mod_proxy_html e sto cercando di ottenere qualcosa di simile con NGINX. Il caso d'uso specifico è che ho un utente amministratore in esecuzione in Tomcat sulla porta 8080 sul server il contesto radice:Come riscrivo gli URL in una risposta proxy in NGINX
http://localhost:8080/
ho bisogno di superficie presente sulla porta 80, ma ho altri contesti sul server Nginx in esecuzione su questo host, in modo vuole cercare di accedere a questo a:
http://localhost:80/admin/
Speravo che il seguente blocco super server semplice avrebbe fatto, ma non del tutto:
server {
listen 80;
server_name screenly.local.akana.com;
location /admin/ {
proxy_pass http://localhost:8080/;
}
}
ilil problema è che il contenuto restituito (html) contiene URL per gli script e informazioni di stile a cui è possibile accedere tutti nel contesto di root, quindi ho bisogno di ottenere questi URL riscritti per iniziare con/admin/anziché /.
Come si esegue questa operazione in NGINX?
Grazie, che aiuta molto.Penso che sub_filter lo farà. – IanG
Sono curioso di sapere fino a che punto nginx sta già riscrivendo l'output, a meno che non debba scrivere il nome host/host nei collegamenti al minimo? Ad esempio, non dovresti "sub_filter" http: // localhost/"" http: // localhost/admin/"' – ThorSummoner
Per consentire la riscrittura diversa dal mimetype 'text/html', dovevo aggiungere anche' sub_filter_types *; '. – anttikoo