Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services AWS Elastic Beanstalk中的URL重写或重定向(使用Spring启动应用程序)_Amazon Web Services_Spring Boot_Spring Mvc_Amazon Elastic Beanstalk - Fatal编程技术网

Amazon web services AWS Elastic Beanstalk中的URL重写或重定向(使用Spring启动应用程序)

Amazon web services AWS Elastic Beanstalk中的URL重写或重定向(使用Spring启动应用程序),amazon-web-services,spring-boot,spring-mvc,amazon-elastic-beanstalk,Amazon Web Services,Spring Boot,Spring Mvc,Amazon Elastic Beanstalk,我有一个Spring Boot应用程序托管在AWS Elastic Beanstack上 在应用程序属性中,我有: server.servlet.context-path=/PartToRemove 因此,我所有的URL都是: https://example.com/PartToRemove/path/to/the/particlar/endpoint 现在,我想删除零件以删除: https://example.com/path/to/the/particlar/endpoint 在春季启

我有一个Spring Boot应用程序托管在AWS Elastic Beanstack上

在应用程序属性中,我有:

server.servlet.context-path=/PartToRemove
因此,我所有的URL都是:

https://example.com/PartToRemove/path/to/the/particlar/endpoint
现在,我想删除
零件以删除

https://example.com/path/to/the/particlar/endpoint
在春季启动级别,这很容易-我只需要删除线

server.servlet.context-path=/PartToRemove
从我的配置

但是

。。。我想为所有只知道旧URL的用户保持“向后兼容性”。所以我在考虑从旧的
https://example.com/PartToRemove/path/to/the/particlar/endpoint
到新的
https://example.com/path/to/the/particlar/endpoint
URL

我对AWS不是很熟悉,所以我不确定在哪里做这个。我在考虑在.htaccess文件中重写mod_,但我不知道这是否是一种正确的方法

我将应用程序部署为zip文件,因此如果有帮助,我可以使用
.ebextensions


有没有关于如何实现这种重定向或重写的想法?

在下面的链接中,他们正在将http重定向到https,但您也可以添加一个重写规则@谢谢。我看到了这个。但是,在这段视频中,她直接在EC2上用我的应用程序连接到ELB进行配置更改。但每次部署新版本的应用程序都会导致用新实例替换旧EC2实例。如何保持这种配置?我不想在每次部署后重新配置新的EC2实例……是的,我不知道如何在负载平衡器级别进行重写。也许一个好的选择是在控制器本身中添加旧的上下文路径,如@RequestMapping({“/PartToRemove/…”,“/…”}),这样您就可以让新的和旧的路径工作,并删除server.servlet.context-path属性。@kimy82我大约有500个端点。。。我不想对每个端点进行相同的复制。是的,我知道这不是一个好的解决方案:-(这是我在以下链接中找到的唯一一个,他们正在将http重定向到https,但您也可以添加重写规则。@kimy82谢谢。我看到了这一点。但在这段视频中,她用我的应用程序直接在连接到ELB的EC2上进行配置更改。但每次部署新版本的应用程序都会导致替换旧的EC2插件如何保持这种配置?我不想在每次部署后重新配置新的EC2实例…是的,我看不出如何在负载平衡器级别进行重写。也许一个好的选择是在控制器本身中添加旧的上下文路径,如@RequestMapping({/PartToRemove/…,“/…])因此,您可以使用新路径和旧路径,并删除server.servlet.context-path属性。@kimy82我有大约500个端点……我不想对每个端点都进行相同的复制。是的,我知道这不是一个好的解决方案:-(这是我唯一想到的解决方案)