如何单独为子域名启用 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 访问的主要内容,如果未能解决你的问题,请参考以下文章

宝塔面板如何部署启用ssl证书?

SSL证书可以给多个域名使用吗

二级域名需要单独申请SSL证书吗

子域名收集

一般的SSL证书二级域名可以使用吗?

解读泛域名证书(通配符证书) 如何免费申请