如何为生产反应应用程序设置代理?

时间:2017-06-09 01:53:54

标签: reactjs proxy

我正在开发一个React应用程序,它使用在另一台服务器上运行的REST API。现在,在开发中,我通过在 package.json 中添加代理字段来使用代理。

我想知道如何为生产应用程序配置代理,以便我的REST请求可以路由到其他服务器。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

package.js文件中的代理变量仅用于开发。我假设你使用的是create-react-app,here is the doc

我在反应应用中路由所有API请求的方式是通过Nginx代理所有请求。当然,这实际上取决于您使用的Web服务器。

考虑到您正在向/ API端点发出所有请求,您可以代理所有请求,如下所示:

location / {
    try_files $uri $uri/ /index.html;
    add_header   Cache-Control public;
    expires      1d;
}

location /api {
   proxy_set_header X-Forwarded-Host $host;
   proxy_set_header X-Forwarded-Server $host;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_pass http://yourapiserver:port/;
}