如何在 AWS 上使用 SSL 创建 node.js 应用程序?
Posted
技术标签:
【中文标题】如何在 AWS 上使用 SSL 创建 node.js 应用程序?【英文标题】:How do I create a node.js application with SSL on AWS? 【发布时间】:2017-02-22 08:59:54 【问题描述】:我需要在 AWS 上创建一个带有 SSL 的 node.js 应用程序以支持 PayPal 付款。我不确定如何配置和配置什么。我目前正在运行应用程序,但纯粹在 HTTP(不是 HTTPS)上运行。请提供有关最佳配置方式的选项。 我在 Window Server 上 - 这有两个部分 1) 如何配置 AWS? 2) 如何配置节点?
【问题讨论】:
【参考方案1】:如果您在 EC2 实例上运行节点,我会使用带有 SSL 证书的 ELB。
http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-create-https-ssl-load-balancer.html
ELB 和 Amazon Cert Manger 让这个愚蠢的事情变得容易。
另一种选择是使用 Elastic Beanstalk。更多的交钥匙和易于设置。 http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.html
【讨论】:
【参考方案2】:只需生成您的 SSL 证书并在 nginx conf 中设置它
示例: 您的应用程序正在 localhost:3000 上运行 您的域是 test.com
在 /etc/nginx/sites-enables/ 中添加配置,例如 conf.conf 包含以下内容
#redirect http to https
server
server_name test.com;
listen 80;
return 301 https://$server_name$request_uri;
server
listen 443 ssl;
server_name test.com;
ssl_certificate YOUR_CRT_FILE.crt;
ssl_certificate_key YOUR_CRT_KEY.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
location /
proxy_pass http://localhost:3000;
nginx 现在将管理您的 https 请求
使用以下 cmd 测试配置:
$ sudo nginx -t
如果成功重新加载nginx:
$ sudo nginx -s reload
【讨论】:
以上是关于如何在 AWS 上使用 SSL 创建 node.js 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章
如何启用 (https) SSL 证书 AWS EC2 托管站点