Apache 在amazon VPC上设置多个SSL证书

Apache 在amazon VPC上设置多个SSL证书,apache,ssl,amazon-web-services,amazon-ec2,amazon-vpc,Apache,Ssl,Amazon Web Services,Amazon Ec2,Amazon Vpc,我一直在拼命想办法在amazon VPC实例上设置多个SSL证书(我使用的是amazon的标准linux AMI) 以下是我所做的: 我设置了一个VPC实例 添加了一个辅助专用IP地址 添加了2个弹性IP地址&“链接”到专用IP地址 转到我的域注册器并将两个测试域指向弹性IP地址 一直等到传播新的IP地址 我将SSL证书上载到VPC实例 然后我试着编辑&: ssl.conf 我,我可以看到eth1,但是domain2.com仍然无法访问 和curl--interface 10.0.0.183 i

我一直在拼命想办法在amazon VPC实例上设置多个SSL证书(我使用的是amazon的标准linux AMI

以下是我所做的:

  • 我设置了一个VPC实例
  • 添加了一个辅助专用IP地址
  • 添加了2个弹性IP地址&“链接”到专用IP地址
  • 转到我的域注册器并将两个测试域指向弹性IP地址
  • 一直等到传播新的IP地址
  • 我将SSL证书上载到VPC实例
  • 然后我试着编辑&:

    ssl.conf
  • 我,我可以看到
    eth1
    ,但是
    domain2.com
    仍然无法访问
  • curl--interface 10.0.0.183 ifconfig.me
    现在返回:


    curl:(7)连接ifconfig.me失败:80;连接超时

    您需要为SSL使用基于ip的虚拟主机。您要侦听的IP地址将是私有IP,而不是公共IP


    端口80上的站点可以使用基于名称的虚拟主机。但是您需要确保您使用的是以下指令:
    NameVirtualHost*:80

    我认为您需要为此遵循故障排除方法

    首先简化配置并验证基本组件,然后逐步构建完整的解决方案。例如:

    • 将domain2的弹性IP映射到新的EC2服务器
    • 在新服务器上,首先通过HTTP使domain2.com可用
    • 一旦它通过HTTP工作,就将其设置为通过HTTPS工作
    • 一旦通过HTTPS工作,将弹性IP映射回原始服务器,并使用HTTP使其在原始服务器上工作
    • 一旦它在HTTP上工作,就采取最后一步,让它在原始服务器上通过HTTPS工作
    这里的目的是验证每个步骤,并准确地找出出错的地方。这将使您能够最好地集中精力解决根本原因。

    为我解决了它

    一个小的(但重要的)注意事项:

    不要键入此命令(步骤#5):

    您应该这样做:

    sudo vi /etc/iproute2/rt_tables
    

    然后在文件末尾添加
    1 admin
    您是说“domain2.com”(不带www)没有使用正确的IP(或任何IP?“未知主机?”)ping,但“www.domain2.com”没有吗?@Michael sqlbot:不,domain2.com会ping到正确的IP地址,但是无论是
    domain2.com
    还是
    www.domain2.com
    都不能正确解决:(好的,我会说你用了错误的术语来描述你的问题,那么……如果你按名称ping并获得正确的地址,这就是“正确解决”的定义您是否能够连接到web服务器,但得到了错误的证书?或者,当您尝试使用web浏览器访问domain2.com时,或者——更好的是——wget或curl时,会发生什么情况?
    应该是正确的设置,如您发布的配置文件所示。@Michael sqlbot:我相信我使用了正确的术语,请不要混淆:Idomain1.com没有任何问题(它解决得正确,证书没有问题),问题是domain2.com:它只是没有解决,我甚至无法连接以检查证书:(我听从了你的建议(请参阅和),但我也经历了同样的行为:domain1.com工作正常,但domain2.com甚至无法解析,即使
    ping www.domain2.com
    解析到正确的IP地址也很正常!@datasage非常感谢您提供的提示。非常有用。我几乎花了一整天的时间在vpc ec2上调试2 IP,但都无法正常工作。您的建议真的很有帮助:)步骤#1、#2和#3-->好的。但是当我将弹性IP映射回第一个实例,这样我就可以让两个IP/网站从一个实例工作时,
    www.domain2.com
    不再工作了!(连接超时)好的,所以问题与配置的SSL部分无关。您的EC2实例是否在VPC中运行?(我想知道它是否可能与VPC网络ACL或类似的内容有关)。是的,它在VPC索引中。我编辑了我的问题,添加了我注意到的更多信息/内容(请参阅结尾的
    EDIT(2)
    部分)…谢谢!
    <VirtualHost *:80>
        ServerName domain1.com
        ServerAlias www.domain1.com
        DocumentRoot /var/www/html
        ServerAdmin webmaster@domain1.com
    </VirtualHost>
    
    <VirtualHost *:80>
        ServerName domain2.com
        ServerAlias www.domain2.com
        DocumentRoot /var/www/html
        ServerAdmin webmaster@domain2.com
    </VirtualHost>
    
    curl: (45) bind failed with errno 99: Cannot assign requested address
    
    echo "1 admin" >> /etc/iproute2/rt_tables
    
    sudo vi /etc/iproute2/rt_tables