将应用程序置于反向代理(到S3网络服务器的AWS API网关http代理)后面时出现baseHref问题

时间:2018-08-05 13:40:49

标签: angular

几个小时以来,我一直在尝试解决API网关HTTP PROXY功能的配置问题...

  1. 我正在S3存储桶(已启用网络服务器)中托管Angular6应用程序
  2. 我在API网关的阶段“ dev1”,资源“ cms”中创建了一个API
  3. 我为“ cms”资源创建了HTTP代理操作ANY,并将其指向S3存储桶URL
  4. 当我直接从浏览器访问S3存储桶时,index.html和所有后续资源都可以正常加载
  5. 但是当我访问/dev1/cms/index.html时,我只能正确获取index.html
  6. 所有其他资源都是从基本路径而不是

换句话说,尽管应用程序本身是从https://gateway/polyfills.js加载的,但我的应用程序还是请求https://gateway/dev1/cms/polyfills.js而不是https://gateway/dev1/cms/index.html

有人知道会发生什么吗?很有可能这是Angular6的问题,根本不是API网关,但是当我调查替代方案时,如果有人可以确认我确实在树错树皮,那就太好了。

更新:确实是Angular 6问题;将baseHref重置为“”(用空字符串代替“ /”)可以使其工作,但是又引入了另一个问题:在页面加载后,URL中添加了“ /”,从而阻止了刷新,例如http://gateway/dev1/cms/index.html/

UPDATE2:尝试了所有其他baseHref和部署位置参数更新,但仍然没有成功。有没有人幸运地找到所有基本路径参数及其相互影响的良好描述?

0 个答案:

没有答案