我知道proxy
中的package.json
设置仅适用于开发人员。所以问题是:
如何使应用程序在产品中工作(完成yarn build)
并部署到apache之后?
我尝试了很多事情,似乎没有任何作用。
我的REST API(服务器端)是在:8080
上运行的Java
当我部署应用并尝试请求时,请求转到localhost/api
而不是localhost:8080/api
我所有的内容如下:
await fetch(`/api/group/${id}`, {
。
最简单,最灵活的解决方案是什么?
答案 0 :(得分:0)
到目前为止,我找到的唯一可行的解决方案是在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):
cd /etc/apache2/sites-available
sudo cp 000-default.conf react.conf
sudo a2dissite 000-default.conf
sudo a2ensite react.conf
sudo a2enmod
-此处已全部启用*
sudo systemctl restart apache2
现在我的/api
指向localhost:8080/api