在nginx中刷新浏览器页面时出现404

u59ebvdq  于 2023-04-20  发布在  Nginx
关注(0)|答案(1)|浏览(220)

在Vultr中部署了我的react应用程序,下面是我的nginx配置。导航到一个页面,刷新浏览器时抛出404错误。我已经在位置下添加了try_files $uri /index.html;,并通过运行下面的命令重新启动了nginx。请有人建议解决这个问题!

$ sudo systemctl restart nginx

但是,当添加try_files $uri /index.html;时,我收到错误系统错误:net::ERR_BLOCKED_BY_CLIENT groupByTags.js:38 TypeError:无法读取c(regeneratorRuntime. js:44:17)的groupByTags.js:35:39处未定义的属性(阅读“0”)
// nginx配置

server {
        
                listen 80;
                server_name example.com www.example.com;
                root /var/www/example.com/build;
                index index.html;
        
            location /service {
               proxy_pass http://localhost:8000;
               proxy_http_version 1.1;
               proxy_set_header Upgrade $http_upgrade;
               proxy_set_header Connection 'upgrade';
               proxy_set_header Host $host;
               proxy_cache_bypass $http_upgrade;
               try_files $uri /index.html;    ## try_files $uri $uri/ /index.html; ## tried this one
            }
    
    }
3b6akqbq

3b6akqbq1#

我能够解决这个问题。我在nginx conf文件中添加了另一个location / { try_files $uri /index.html; }块解决了页面刷新问题。第二个location /service {...块用于访问现有的API服务。
在我的例子中,我的API服务端点看起来如下所示,例如:service/listOfBlogs。因此,如果您的API端点以api/some_end_point开头,则位置块应写成location /api {...
完整的nginx配置如下:

server {
        
            listen 80;
            server_name example.com www.example.com;
            root /var/www/example.com/build;
            index index.html;
            
            location / {
                try_files $uri /index.html;
            }

        
            location /service {
               proxy_pass http://localhost:8000;
               proxy_http_version 1.1;
               proxy_set_header Upgrade $http_upgrade;
               proxy_set_header Connection 'upgrade';
               proxy_set_header Host $host;
               proxy_cache_bypass $http_upgrade;
            }
        
    }

相关问题