No momento, estou servindo meu front end Angular 2 com PM2, sendo executado no endereço IP http://198.xxx.xxx.xx:8080/
. Ao usar HashLocationStrategy
do Angular 2, os caminhos não raiz são recarregados corretamente. Ao usar PathLocationStrategy
, as atualizações não funcionam. Existe uma maneira de passar o caminho através do proxy_pass
no location /
, de modo que um caminho como /about
seja resolvido para o /about
fornecido pelo roteador Angular 2?
Minha configuração atual passará de /
para /about
no aplicativo, mas se eu atualizar o /about
, ele retornará uma página em branco:
upstream app_server {
server unix:/var/run/unicorn.sock fail_timeout=0;
}
server {
listen 80;
root http://198.xxx.xxx.xx:8080/;
server_name _;
index index.htm index.html;
location ~* ^.+\.(jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|mp3|flv|mpeg|avi)$ {
try_files $uri @app;
}
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://198.xxx.xxx.xx:8080/;
}
location ^~ /api/ {
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://app_server/api/;
}
}
Aqui estão os meus registros PM2 para visitar /
e, em seguida, clicar em um link para visitar /about
e atualizar a página /about
:
dailydownbeat-0 [Sat Mar 05 2016 14:59:38 GMT-0500 (EST)] "GET /" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11) AppleWebKit/601.1.56 (KHTML, like Gecko) Version/9.0 Safari/601.1.56"
dailydownbeat-0 [Sat Mar 05 2016 14:59:38 GMT-0500 (EST)] "GET /polyfills.c4ffdebfdb7d4e9ee964.bundle.js" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11) AppleWebKit/601.1.56 (KHTML, like Gecko) Version/9.0 Safari/601.1.56"
dailydownbeat-0 [Sat Mar 05 2016 14:59:38 GMT-0500 (EST)] "GET /main.4916a64a8641d387872b.bundle.js" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11) AppleWebKit/601.1.56 (KHTML, like Gecko) Version/9.0 Safari/601.1.56"
dailydownbeat-0 [Sat Mar 05 2016 14:59:39 GMT-0500 (EST)] "GET /assets/img/dailydownbeat_icon.svg" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11) AppleWebKit/601.1.56 (KHTML, like Gecko) Version/9.0 Safari/601.1.56"
dailydownbeat-0 [Sat Mar 05 2016 14:59:39 GMT-0500 (EST)] "GET /a35720c2fed2c7f043bc7e4ffb45e073.woff" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11) AppleWebKit/601.1.56 (KHTML, like Gecko) Version/9.0 Safari/601.1.56"
dailydownbeat-0 [Sat Mar 05 2016 15:00:02 GMT-0500 (EST)] "GET /about" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11) AppleWebKit/601.1.56 (KHTML, like Gecko) Version/9.0 Safari/601.1.56"
dailydownbeat-0 [Sat Mar 05 2016 15:00:02 GMT-0500 (EST)] "GET /about" Error (404): "Not found"
Tags nginx