通配符SSL在指向其他服务器的子域上不起作用

时间:2020-07-31 06:33:26

标签: amazon-web-services amazon-ec2 ssl-certificate cloudflare

这可能是一个重复的问题,但是我尝试了所有发现的解决方案,但没有任何效果。在主域上,我已经成功安装了SSL,并且工作正常。我需要在使用用于子域的其他两个实例上安装相同的通配符SSL

到目前为止,我设置的总体结构如下-

  1. Cloudflare用于CDN,其中我为所有3个实例创建了一条记录。一个用于主域,另外两个用于子域。
  2. 在AWS EC2上创建了3个实例(Ubuntu 18.04 + Apache)

当我在浏览器中访问子域时,它显示锁定符号,但带有Error 521 : Web server is down

enter image description here

但是当我尝试使用默认的公共DNS时,它显示的页面没有任何错误。

enter image description here

请建议此处缺少的内容。非常感谢!

2 个答案:

答案 0 :(得分:0)

521 error from CloudFlare表示它无法与该端口上的主机通话。

当原始Web服务器拒绝来自Cloudflare的连接时,发生错误521。您来源的安全解决方案可能会阻止来自某些Cloudflare IP地址的合法连接。

最常见的521错误的两个原因是:

  • 已脱机的原始Web服务器应用程序
  • 封锁的Cloudflare请求

请检查以下内容:

  • EC2安全组允许两个端口80/443上的入站访问(不能将其锁定到您的IP地址)。
  • 如果已安装NACL(这不是默认值),请确保两个通信端口(80/443)和ephemeral ports均已打开。
  • 确保服务器在两个端口80/443上侦听。

重要的是要确定CloudFlare是尝试连接到HTTP还是HTTPS,它可以根据配置支持这两种模型。

如果您在这些时间之后仍然陷于困境,可以尝试使用VPC Flow Logs验证发送到服务器的请求。

答案 1 :(得分:0)

最后,这个答案给了我一个提示How to install third-party SSL Certificate with AWS EC2 Instance (Ubuntu AMI)? Will it cost one-time or monthly basis?

我按照以下步骤解决了此错误-

1。从主服务器下载了证书文件

enter image description here

2。将相同的证书文件上传到指向子域的辅助服务器上

3。然后在辅助服务器上编辑/etc/apache2/sites-available/default-ssl.conf文件,搜索“ SSLCertificate”并更改以下几行

enter image description here

4。启用S​​SL配置,然后重新启动Web服务器。

ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/
apachectl configtest
apachectl graceful
相关问题