[英]Redirect react subroutes with Nginx
我有一個帶有 nginx 的服務器設置,使用服務器塊來運行多個虛擬主機、letsencrypt 和 nodejs:我使用多個虛擬部分(路由)['/dahsboard'、'/settings'等]
反向代理部分有效,但是當用戶在某個部分(如 dev.myDomain.com/settings')中刷新頁面時,所有內容都消失了,顯示 nginx 404 頁面
server {
server_name dev.myDomain.com;
location / {
proxy_pass http://127.0.0.1:7000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/dev.myDomain.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/dev.myDomain.com/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 = dev.myDomain.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
server_name dev.myDomain.com;
listen 80;
return 404; # managed by Certbot
}
我試過了
location / {
try_files /home/path/dist/index.html @proxy;
}
location @proxy { ... }
但也不起作用。
請幫忙。
server {
server_name test.com;
gzip on;
gzip_types application/javascript image/* text/css;
gunzip on;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_intercept_errors on;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 421 422 423 424 425 426 428 429 431 451 /;
listen 443 http2 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/test.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/test.com/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 {
listen 80;
server_name test.com;
rewrite ^ https://$host$request_uri? permanent;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.