如何将AWS Elb后面的reactJs SPA的http重定向到https?
我选择使用ExpressServer进行部署,如《创建react应用程序用户指南》一节所述。express服务器设置在EC2实例上,前面是AWS Elb,SSL在此终止。如何将http请求重定向到https 如果有解决方案,我也愿意使用Nginx如何将AWS Elb后面的reactJs SPA的http重定向到https?,reactjs,express,nginx,http-redirect,Reactjs,Express,Nginx,Http Redirect,我选择使用ExpressServer进行部署,如《创建react应用程序用户指南》一节所述。express服务器设置在EC2实例上,前面是AWS Elb,SSL在此终止。如何将http请求重定向到https 如果有解决方案,我也愿意使用Nginx 谢谢你的帮助 您最好的选择是将ELB配置为侦听80和443,并将这些端口转发到EC2实例。然后,您可以在EC2实例上运行Nginx,并使其反向代理到运行在本地主机上的express服务器。您需要在Nginx配置中使用此选项- server {
谢谢你的帮助 您最好的选择是将ELB配置为侦听80和443,并将这些端口转发到EC2实例。然后,您可以在EC2实例上运行Nginx,并使其反向代理到运行在本地主机上的express服务器。您需要在Nginx配置中使用此选项-
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
return 301 https://$host$request_uri;
}
你也可以找到一些关于这方面的好帖子,比如我在下面链接的帖子
使用npm:
npm安装--保存https重定向
假设有一个CommonJS环境,您可以这样简单地使用该组件:
import HttpsRedirect from 'react-https-redirect';
class App extends React.Component {
render() {
return (
<Providers>
<HttpsRedirect>
<Children />
</HttpsRedirect>
<Providers />
);
}
}
从'react https redirect'导入HttpsRedirect;
类应用程序扩展了React.Component{
render(){
返回(
);
}
}
感谢您的回复。但是,我能够实现一个解决方案,而不必使用nginx。我在下面发布了一个解决方案,在这个解决方案中,express服务器本身处理重定向。谢谢,这比在react应用程序中安装另一个依赖项要好得多,因为它只会增加捆绑包的大小
import HttpsRedirect from 'react-https-redirect';
class App extends React.Component {
render() {
return (
<Providers>
<HttpsRedirect>
<Children />
</HttpsRedirect>
<Providers />
);
}
}