如何将AWS Elb后面的reactJs SPA的http重定向到https?

如何将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 {

我选择使用ExpressServer进行部署,如《创建react应用程序用户指南》一节所述。express服务器设置在EC2实例上,前面是AWS Elb,SSL在此终止。如何将http请求重定向到https

如果有解决方案,我也愿意使用Nginx


谢谢你的帮助

您最好的选择是将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 />
    );
  }
}