首页 > 解决方案 > Nginx 在我的 react-app 上抛出 404 错误

问题描述

这是我配置反向代理的 nginx 服务器块:

 server {
    root /var/www/portfolio/build;
    index index.html;
    server_name somesite.com;

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/somesite.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/somesite.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 = www.somesite.com) {
     return 301 https://$host$request_uri;
     } # managed by Certbot


    if ($host = somesite.com) {
    return 301 https://$host$request_uri;
    } # managed by Certbot


    #listen 80;
    server_name somesite.com www.somesite.com;
    return 404; # managed by Certbot


    location / {
       try_files $uri $uri/ /index.html?q=$uri&$args;
       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection 'upgrade';
       proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-Proto $scheme;
       proxy_set_header   Host $host;
       proxy_http_version 1.1;
       proxy_cache_bypass $http_upgrade;
       proxy_pass         "https://localhost:3000";

这仅在我转到页面时发生,单击子页面然后刷新它 -

nginx错误日志:

2020/11/12 20:32:09 [error] 595#595: *8 open() "/var/www/portfolio/build/portfolios" failed (2: No such file or directory), client: 192.168.1.1, server: somesite.com, request: "GET /portfolios HTTP/1.1", host: "somesite.com"
2020/11/12 20:36:28 [error] 595#595: *15 open() "/var/www/portfolio/build/portfolios" failed (2: No such file or directory), client: 192.168.1.1, server: somesite.com, request: "GET /portfolios HTTP/1.1", host: "somesite.com"
2020/11/12 20:36:30 [error] 595#595: *15 open() "/var/www/portfolio/build/portfolios" failed (2: No such file or directory), client: 192.168.1.1, server: somesite.com, request: "GET /portfolios HTTP/1.1", host: "somesite.com"

标签: reactjsnginx

解决方案


推荐阅读