求教!在同一服务器部署多个服务遇到的问题
现有资源:
我的服务器IP:192.168.1.1
flask app1 部署在:192.168.1.1:10001
flask app2 部署在:192.168.1.1:10002
目的:
利用 Nginx 实现:
1、通过 192.168.1.1/app1/ 访问 flask app1服务
2、通过 192.168.1.1/app2/ 访问 flask app2服务
我的 Nginx 配置:
问题描述:
可以通过 192.168.1.1/app1 或者 192.168.1.1/app2 访问相应服务的主页,但网站的其它资源的链接地址是:
192.168.1.1/source_name
这样就没办法经过nginx转发,也就获取不到相应的资源了。
个人理解是:资源的地址的html代码中是:/souce_name, 对应的实际 url 是: host + /source_name, 但这次请求的
host 是 192.168.1.1 而不是 192.168.1.1/app1,所以它的链接地址不是 192.168.1.1/app1/souce_name
目前已知的解决方案:
1、给 192.168.1.1 绑定两个域名 app1, app2 ,Nginx 转发时通过域名转发,
缺点:每个服务都需要一个域名
2、在客户端修改 host 文件,app1 对应 192.168.1.1 , app2 对应 192.168.1.1, Nginx 转发时通过请求的host转发
缺点:每个访问服务的客户端都需要修改host文件
3、把服务的端口对外开放,通过ip+端口访问服务
缺点:安全问题和管理问题
跪求更好的解决方案!