【问题标题】:Setting up SSL(https) in AWS Mean Stack hosted at EC2 using ngInx使用 ngInx 在 EC2 托管的 AWS Mean Stack 中设置 SSL(https)
【发布时间】:2021-01-15 08:45:01
【问题描述】:

我正在尝试为 SSL / https 设置我的网站,并且我正在执行我在 Web 上看到的步骤,但遇到了一些问题。请指导。

我的步骤是:

  1. 在 AWS 的 EC2 上托管我的 MEAN 堆栈网站。

  2. UI 和后端都在节点服务器上运行,Angular 作为 Angular Universal SSR 运行。

  3. http://www.gabruism.com 上托管的站点名称并收到“不安全”提示。

  4. 我的nginx配置是这样的:

    服务器{ 字符集 utf-8; 听 80 default_server; server_name _;
    地点 / { proxy_pass http://localhost:4000/; }
    位置 /api/ { proxy_pass http://localhost:8080/; } }

    4000 在节点服务器上运行 Angular SSR,8080 在节点服务器上运行 Express 后端。

  5. 然后,我从 AWS Certificate Manager 创建了证书并在 DNS 中对其进行了验证,并将其添加到 Route 53 中的 CNAME。

  6. 之后,我在 AWS 中为此证书创建 Cloudfront。我得到了这个 URL,它在 https 加载我的网站,但我的 http API 不起作用(它需要 https API 的已知原因 - 如何解决?)。 https://da64unrkw26hn.cloudfront.net/home

  7. 现在,我的问题开始了。请看一下。

作为一名全栈程序员,我自己创建了整个 MEAN 栈网站,然后将其托管在 AWS 上。但是,我现在卡在 SSL 上。

  1. 我是否在这里进行了过度设计以实现 SSL?
  2. 最简单的问题:如何在 EC2 上使用上述 ngInx 配置运行的 MEAN 网站上启用 SSL(请记住 Angular 代码本身作为服务器端渲染的一部分在节点服务器上运行)
  3. 到目前为止,我为实现 SSL 所做的哪些步骤是不需要的,还应该做些什么?
  4. 如何使 route53 中的 gabruism.com 条目指向云端 url?我需要替换以前的 cname 吗?

请指导我,因为各种文档让我感到困惑。谢谢。

【问题讨论】:

  • 看来您仍需要将域 www.gabruism.com 指向 CloudFront 分配。
  • 我该怎么做马克?在 route53 中,我是否替换了之前的条目?
  • 您将修改 Route53 中 www 的当前 DNS 条目。

标签: angular amazon-web-services ssl amazon-ec2 mean-stack


【解决方案1】:

问题在于您的Step 5

而不是跟随这个。

  1. 转到 Cloud front 并打开您的发行版
  2. 在“常规”选项卡中单击“编辑”按钮
  3. 在备用域名中输入您的域名。在您的情况下,它是 www.gabruism.com 和 gabruism.com。第二个条目应在新行中输入。
  4. 点击右下角的“是,编辑”。
  5. 然后转到 Route53 并选择您的托管区域(假设您使用 Route53 的新 UI)
  6. 点击创建记录(右上角按钮)
  7. 选择简单路由并单击下一步
  8. 定义简单记录
  9. 输入“www”作为记录名称
  10. 对于值/路由流量选择“别名到 CloudFront 分配”
  11. 下一步选择您的地区并选择您的分布
  12. 将记录类型保留为“A”,然后单击“定义简单记录”
  13. 重复这些步骤 6-12 以获取更多没有名称的记录,使其指向 gabruism.com

确保您在 CloudFront 分配中提到的备用 CNAME 与 Route53 记录名称匹配

【讨论】:

  • 今天试试这个。谢谢。如何解决第 6 点。是否需要在 ngInx 中输入 443 并更改我的 API 以调用 https 版本的 URL?
  • @SukhminderSinghParmar 您应该将您的 route53 记录指向 cloduformation
  • 谢谢,让我这个周末完成这些步骤并返回输入
  • 我按照上述步骤操作。-- 现在,gasbruism.com 打开受保护的站点。-- 我正在查看的两个问题:1)来自 google.com,它打开了“不安全”版本仍然-- 2) NodeJs API 仍然失败并出现错误:polyfills-es2015.e041970de26af10cd427.js:1 混合内容:“gabruism.com/blogs/list”处的页面是通过 HTTPS 加载的,但请求了不安全的 XMLHttpRequest 端点“ec2-18-216-206-82.us-east-2.compute.amazonaws.com/api/api/blogs/…”。此请求已被阻止;内容必须通过 HTTPS 提供。
  • 除非我手动添加 https,它会加载 http。因此,gabruism.com 会打开 http。我想这需要一些时间来反思??会确认。但是,我该如何解决 API 问题
猜你喜欢
  • 2017-11-26
  • 2020-08-02
  • 2018-06-29
  • 2019-07-08
  • 1970-01-01
  • 1970-01-01
  • 2018-06-02
  • 2020-03-07
  • 2017-12-13
相关资源
最近更新 更多