【问题标题】:React what to use in production instead of proxy?反应在生产中使用什么而不是代理?
【发布时间】:2019-07-18 20:31:20
【问题描述】:

我知道package.json 中的proxy 设置仅适用于开发。所以问题是:

如何使应用程序在 prod 中工作(在完成 yarn build) 并部署到 apache 之后?

我尝试了很多东西,似乎没有任何效果。

我的 REST API(服务器端)是一个在 :8080 上运行的 java

当我部署应用程序并尝试请求时,请求转到 localhost/api 而不是 localhost:8080/api

我的 fetch 看起来像:

await fetch(`/api/group/${id}`, {.

什么是最简单、最灵活的解决方案?

【问题讨论】:

    标签: reactjs apache production


    【解决方案1】:

    到目前为止,我发现的唯一解决方案是在 apache 服务器上配置 VirtualHost

    <VirtualHost *:80>
      ServerAdmin webmaster@localhost
      DocumentRoot /var/www/html
    
      ErrorLog ${APACHE_LOG_DIR}/error.log
      CustomLog ${APACHE_LOG_DIR}/access.log combined
    
      ProxyPreserveHost On
      ProxyRequests Off
      ServerName www.example.com
      ServerAlias example.com
      ProxyPass /api/ http://localhost:8080/api/
      ProxyPassReverse /api/ http://localhost:8080/api/
    </VirtualHost>
    

    然后我必须启用模块并重新启动 apache。

    步骤(ubuntu):

    1. cd /etc/apache2/sites-available
    2. sudo cp 000-default.conf react.conf
    3. sudo a2dissite 000-default.conf
    4. sudo a2ensite react.conf
    5. sudo a2enmod - 此处启用 * 全部
    6. sudo systemctl restart apache2

    现在我的/api 指向localhost:8080/api

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-22
      • 2011-05-08
      • 2011-08-14
      • 2016-10-23
      • 1970-01-01
      • 1970-01-01
      • 2012-08-17
      • 1970-01-01
      相关资源
      最近更新 更多