Ho una configurazione simile a questo:riscrittura redirect per includere la porta utilizzata per accedere al servizio
Un utente che lavora con il mio ambiente di sviluppo Vagrant accede localhost:8080
sul proprio computer host, che viene inoltrato in Vagrant a NGINX in esecuzione al localhost:80
sul guest. Alcune richieste vengono inoltrate al server delle applicazioni in esecuzione allo localhost:8080
sul guest e alcuni sono file statici forniti da NGINX.
Una cosa strana accade quando accedo al mio sito. Ho una pagina di accesso che reindirizza in caso di successo e l'URL viene riscritto da http://localhost:8080/login
a http://localhost:80/login
.
Ecco la mia configurazione Nginx per il sito:
upstream appserver {
server 127.0.0.1:8080;
}
upstream production {
server www.mysite.com:443;
}
server {
listen 80 default_server;
server_name _;
client_max_body_size 20M;
access_log /var/log/nginx/project.access.log;
error_log /var/log/nginx/project.error.log;
index /index;
location ~ ^(/js/testpage.js) {
alias /vagrant/artifacts/www/js/testpage.js;
}
location ~ ^(/test/js/app.js) {
alias /vagrant/test/js/app.js;
}
location ~ /test/js/app_router.js {
alias /vagrant/test/js/app_router.js;
}
location ~ /test/js/app_layout_controller.js {
alias /vagrant/test/js/app_layout_controller.js;
}
location ~ /test/js/apps/navbar/sections/layout/navbar_layout_controller.js {
alias /vagrant/test/js/apps/navbar/sections/layout/navbar_layout_controller.js;
}
location ~ /test/js/apps/navbar/sections/navbar/navbar_options_view.js {
alias /vagrant/test/js/apps/navbar/sections/navbar/navbar_options_view.js;
}
location ~ /test/js/apps/navbar/sections/navbar_all_views.js {
alias /vagrant/test/js/apps/navbar/sections/navbar_all_views.js;
}
location ~ ^/test/js/apps/(.*/testpage_.*\.js)$ {
alias /vagrant/test/js/apps/$1;
}
location ~ ^/test/js/(.*)$ {
alias /vagrant/js/$1;
}
location ~ ^/build/js/(.*)$ {
alias /vagrant/artifacts/www/js/$1;
}
location ~ ^/build/css/(.*)$ {
alias /vagrant/artifacts/www/css/$1;
}
location ~ ^/(.*main.*)\.[@\-_\/\d\w]+\.(js|css)$ {
alias /vagrant/$1.$2;
}
location ~ ^/(css|js|fonts|favicon.ico) {
root /vagrant;
}
location ~ ^/receipts/js/(.*)$ {
alias /vagrant/receipts/js/$1;
}
location ~ ^/bower_components/(.*)$ {
alias /vagrant/bower_components/$1;
}
location ~ ^/login-promo/ {
access_log off;
proxy_pass https://production;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ ^/(admin|login|logout|index|build|testpage|receipts|open|reset|resetpage|privacy|change|activeUser|personPrivacyAcceptances) {
access_log off;
proxy_pass http://appserver;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
non sono sicuro dove il reindirizzamento è in realtà proviene, si potrebbe venire dal backend server di app o dal front-end JavaScript. C'è un modo per assicurarmi che tutti i reindirizzamenti utilizzino la porta utilizzata dal client di accesso?
Aggiornamento: La semplice aggiunta di un link <a href="/login">login</a>
alla pagina radice e cercando di navigare con quel link mi reindirizza a http://localhost:80/login
piuttosto che http://localhost:8080/login
.
Risolto il mio problema con questo problema, grazie. –