我创建了一个有角度的5前端应用程序,它需要一个后端rest api来处理数据库,我用laravel创建了这个后端api,我在不同的端口上作为一个单独的域提供服务,但我需要托管它们都在同一个域上,因此angular控制路径,后端有单独的路径,例如www.mydomain.com/anything用于角度应用程序,www.mydomain.com / api / anything用于laravel后端。那么有没有办法做到这一点,如果有可能请你提一下或发布一个教程链接吗?
答案 0 :(得分:4)
为实现这一目标,我建议使用像NGINX这样的网络服务器。
根路径应该为您的Angular应用程序提供服务,而/ api将代理传递给您的API。
如果您的API与角度应用程序的源文件和端口3000在同一服务器上运行,则NGINX服务器配置将如下所示:
server {
listen 80 default_server;
location / {
root /path/to/angular/app;
}
location /api {
proxy_pass http://localhost:3000;
}
}
有很多关于NGINX反向代理的教程。这是一个例子:https://www.digitalocean.com/community/tutorials/understanding-nginx-http-proxying-load-balancing-buffering-and-caching
或者,您可以直接参考NGINX文档:http://nginx.org/en/docs/http/ngx_http_proxy_module.html