如何单独为子域名启用 SSL,即使用 HTTPS 访问
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何单独为子域名启用 SSL,即使用 HTTPS 访问相关的知识,希望对你有一定的参考价值。
直接给子域名申请SSL证书配置到服务器就可以使用HTTPS协议。 参考技术A 申请一个SSL证书然后正确部署到服务器上,就可以使用HTTPS访问。SSL证书申请流程:第一步,生成并提交CSR(证书签署请求)文件
CSR文件一般都可以通过在线生成(或服务器上生成),申请人在制作的同时系统会产生两个秘钥,公钥CSR和密钥KEY。选择了SSL证书申请之后,提交订单并将制作生成的CSR文件一起提交到证书所在的CA颁发机构。
第二步,CA机构进行验证
CA机构对提交的SSL证书申请有两种验证方式:
第一种是域名认证。系统自动会发送验证邮件到域名的管理员邮箱(这个邮箱是通过WHOIS信息查询到的域名联系人邮箱)。管理员在收到邮件之后,确认无误后点击我确认完成邮件验证。所有型号的SSL证书都必须进行域名认证。
第二种是企业相关信息认证。对于SSL证书申请的是OV SSL证书或者EV SSL证书的企业来说,除了域名认证,还得进行人工核实企业相关资料和信息,确保企业的真实性。
第三步,CA机构颁发证书
由于SSL证书申请的型号不同,所验证的材料和方式有些区别,所以颁发时间也是不同的。
如果申请的是DV SSL证书最快10分钟左右就能颁发。如果申请的是OV SSL证书或者EV SSL证书,一般3-7个工作日就能颁发。
SSL证书颁发下来之后,正确的部署到服务器上即可,安信证书是提供免费的安装服务的。 参考技术B 直接给子域名部署SSL证书就可以实现https访问。如果还有什么关于SSL的问题,可以向沃通证书签发中心咨询。本回答被提问者采纳
如何将启用 SSL 的自定义子域指向 Elastic Beanstalk? (不含 Route53)
【中文标题】如何将启用 SSL 的自定义子域指向 Elastic Beanstalk? (不含 Route53)【英文标题】:How to point SSL Enabled custom Sub Domains to Elastic Beanstalk? (without Route53) 【发布时间】:2020-08-16 17:00:33 【问题描述】:我正在尝试将外部 子域 映射到我的 Elastic Beanstalk 环境中。我知道,常见的方法是使用 Route53 但是当我的客户的域提供商已经提供了 CPanel 和设置CName
和事物。所以,我将按照下面的方法将域设置为 Beanstalk。
-
登录您的提供商网站并选择您的域
点击“高级 DNS”
创建 CNAME 记录。
主机:www
值:enter-your-subdomain.elasticbeanstalk.com。
创建 URL 重定向记录。
主持人: @
值:http://www.your-custom-domain.com
通过上述操作,我希望有 subdomain.example.com 而不是 subdomain-region.elasticbeanstalk.com
您可以在此查看详细信息 - https://colintoh.com/blog/map-custom-domain-to-elastic-beanstalk-application
我将把它应用到两件事上。
-
位于 Beanstalk 中的 REST API。 (将被少数移动和网络应用程序使用)
位于 Beanstalk 中的 Web Portal 应用程序。
现在,我可以看到我的客户端已经有几个启用 SSL 的子域用于其他目的。他们从 CA 购买了 SSL。因此,我们可以在 CPanel 中启用 SSL 并将启用 SSL 的子域指向 Beanstalk 吗?或者我们必须重新配置 Route53 中的所有内容并完成设置 SSL 的复杂过程?
【问题讨论】:
您需要下载这些 SSL 证书并上传到 Elastic Beanstalk 实例的 ALB。刚刚提到,AWS ACM 免费颁发 SSL 证书,如果您改用 Route 53 + ACM,我认为它会非常顺利。您需要执行以下操作: - 为要在 Route 53 中管理的子域进行区域委派。 - 在 AWS ACM 中创建 DNS 验证的 ACM 证书。 @为什么域重定向不起作用?另外,使用 Route53 意味着我必须更改域的名称服务器,对吗?现在这是可能的,因为客户在这个域下有他的网站和其他一些东西,与 AWS 无关。还有关于 ACM 证书,他们说不要在生产环境中使用。 通过域重定向,我认为您的意思是 302 重定向。在这种情况下,据我了解,默认情况下 AWS 将获取附加到 Beanstalk 的 ALB 的默认 SSL 证书。所以这意味着客户端(比如 Chrome)将在浏览器上看到域名更改为 xxx.elasticbeanstalk.com 而不是 yourdomain.com 。如果这对你来说没问题,那么我认为它会工作得很好。而且您不需要更改域的名称服务器。您可以通过当前注册商中的 SOA 记录对特定子域进行区域委派。 如果您不想要 302 重定向,那么 CNAME 条目 + 将 SSL 证书添加到 Elastic BeanStalk 应该可以完成工作 (docs.aws.amazon.com/elasticbeanstalk/latest/dg/…)。 @Siddharth:谢谢。关于最后一条评论,它是关于上传到 IAM,但由于 ACM 在我的地区可用,我认为 ACM 会起作用。您能否提供您的观点作为答案,以及有关区域委派到 Route53 和 ACM 流程的一些信息?那么大家就可以看清楚了 【参考方案1】:使用外部供应商颁发的 SSL 证书
从 SSL 供应商的角度来看,您需要三个文件:certificate-chain.pem、https-cert.crt 和 private-key.pem。
步骤如下:
将证书导入 ACM
aws acm import-certificate –certificate file://https-cert.crt
–private-key file://private-key.pem –certificate-chain
file://certificate-chain.pem
导入完成后,从控制台编辑 AWS Elasticbeanstalk 中的负载均衡器设置以选择导入的证书。详细的分步说明请参考https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/configuring-https-elb.html。
使用来自 AWS ACM 的 SSL 证书
步骤如下:
-
在 Route 53 中创建一个公共托管区域,其中包含讨论中的子域(例如 app.mydomain.com)。 AWS 将返回多个 ns 服务器名称。
在现有域注册商中为 app.mydomain.com 创建一条 SOA 记录,指向步骤 1 中返回的 ns 服务器名称。
转到 ACM 并为 app.mydomain.com 创建域验证证书。
从控制台编辑 AWS Elasticbeanstalk 中的负载均衡器设置以选择新的 ACM 证书。详细的分步说明请参考https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/configuring-https-elb.html。
【讨论】:
我想我们也可以从他们那里获得免费的公共证书,对吧?它们真的是免费的还是收费的? 亚马逊颁发的公共证书是免费的。但是,如果您创建私有 CA,则需要付费。您可以在aws.amazon.com/certificate-manager/pricing阅读详细信息。以上是关于如何单独为子域名启用 SSL,即使用 HTTPS 访问的主要内容,如果未能解决你的问题,请参考以下文章