nginx 我如何将react API服务点指向我的域而不是localhost:8000

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

我已经在Vultr服务器上部署了我的react应用程序,并在服务器上安装了nginx,并通过运行以下命令配置了以下设置。

$ sudo nano /etc/nginx/sites-available/default

server {

    listen 80;
    server_name somedomain-test.com www.somedomain-test.com;
    root /var/www/somedomain-test.com/build;
    index index.html;
}

我确实运行了npm run build并将构建文件夹复制到以下目标文件夹/var/www/automateandmore.com/build
然后运行下面的命令:

$ sudo nginx -t
$ sudo systemctl restart nginx

我可以看到前端。现在我已经从文件夹位置src/启动了server.js,但我仍然可以看到它正在调用localhost:8000/service/listofblogs:我如何解决这个问题,有人可以建议吗?
这是我的package.json设置

{
  "name": "myblogs",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    .....
     
  },
  "proxy": "http://localhost:8000",
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
    ....
  }
}

.env文件

DANGEROUSLY_DISABLE_HOST_CHECK=true
REACT_APP_URL=http://somedomain-test.com
qjp7pelc

qjp7pelc1#

如果我没看错的话,你是把它倒过来了。
在开发过程中,要让开发服务器将未知请求代理到您的API服务器,可以在您的package.json中添加一个proxy字段,例如:

"proxy": "http://localhost:4000",

但是你说“而不是localhost:8000”,但这是你的代理给应用程序的url。
将其更改为您要访问的URL。

相关问题