使用 aws elastic beantalk 将非 www 重定向到 www
Redirect non-www to www with aws elastic beanstalk
我正在使用 Elastic Beanstalk,我已按照说明使用 Express Web 服务器部署我的应用程序,如下所示:
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs_express.html
此设置使用 nginx 和路由 53。
一切正常,但现在我正在尝试从 non-www/non-https URL 重定向到“https://www.domain.com”(总是 https 和 www)。
我见过不同的解决方案,要么不起作用,要么看起来很老套。从 aws console
执行此操作的正确方法是什么?
非常感谢!
您可以设置一个 S3 存储桶,将裸域重定向到 www.这里有说明。
http://docs.aws.amazon.com/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html
您可以使用 Cloudfront 将 http 重定向到 https。您可以在此处阅读更多信息。
http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https.html
您也可以在 EC2 实例上设置网络服务器进行重定向,但这也需要您设置 SSL 证书。让 AWS 使用 Cloudfront 处理这个问题会更容易。
您可能正在使用 Apache,所以它应该是这样的。
NameVirtualHost *:80
<VirtualHost *:80>
ServerName mysite.example.com
DocumentRoot /usr/local/apache2/htdocs
Redirect permanent / https://mysite.example.com/
</VirtualHost>
<VirtualHost _default_:443>
ServerName mysite.example.com
DocumentRoot /app/directory/
SSLEngine On
# etc...
</VirtualHost>
然后在部署脚本中使用 LetsEncrypt 设置 SSL 证书。
有一种简单的方法可以做到这一点。
- 转到您的负载均衡器
- Select 你的 LB
- 单击“听众”选项卡
- 在规则下单击 -> view/edit 规则
- 再添加一条规则
- 条件 -> 主机 Header:yoursite.com
- 添加操作 -> 重定向到:
- HTTPS -> #{端口}
- 自定义主机、路径、查询
- 主持人:www.yoursite.com
- 保持原样,301 header
- 保存,一切顺利!
所有内容都将重定向到您的 WWW url。
我正在使用 Elastic Beanstalk,我已按照说明使用 Express Web 服务器部署我的应用程序,如下所示: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs_express.html
此设置使用 nginx 和路由 53。
一切正常,但现在我正在尝试从 non-www/non-https URL 重定向到“https://www.domain.com”(总是 https 和 www)。
我见过不同的解决方案,要么不起作用,要么看起来很老套。从 aws console
执行此操作的正确方法是什么?
非常感谢!
您可以设置一个 S3 存储桶,将裸域重定向到 www.这里有说明。
http://docs.aws.amazon.com/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html
您可以使用 Cloudfront 将 http 重定向到 https。您可以在此处阅读更多信息。
http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-https.html
您也可以在 EC2 实例上设置网络服务器进行重定向,但这也需要您设置 SSL 证书。让 AWS 使用 Cloudfront 处理这个问题会更容易。
您可能正在使用 Apache,所以它应该是这样的。
NameVirtualHost *:80
<VirtualHost *:80>
ServerName mysite.example.com
DocumentRoot /usr/local/apache2/htdocs
Redirect permanent / https://mysite.example.com/
</VirtualHost>
<VirtualHost _default_:443>
ServerName mysite.example.com
DocumentRoot /app/directory/
SSLEngine On
# etc...
</VirtualHost>
然后在部署脚本中使用 LetsEncrypt 设置 SSL 证书。
有一种简单的方法可以做到这一点。
- 转到您的负载均衡器
- Select 你的 LB
- 单击“听众”选项卡
- 在规则下单击 -> view/edit 规则
- 再添加一条规则
- 条件 -> 主机 Header:yoursite.com
- 添加操作 -> 重定向到:
- HTTPS -> #{端口}
- 自定义主机、路径、查询
- 主持人:www.yoursite.com
- 保持原样,301 header
- 保存,一切顺利!
所有内容都将重定向到您的 WWW url。