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