gpt4 book ai didi

apache - 在亚马逊 VPC 上设置多个 SSL 证书

转载 作者:太空宇宙 更新时间:2023-11-03 12:51:23 26 4
gpt4 key购买 nike

我一直在苦苦思索如何在亚马逊 VPC 实例上设置多个 SSL 证书(我正在使用亚马逊的标准 linux AMI)

这是我做的:

  1. 我设置了一个 VPC 实例
  2. 添加了辅助私有(private) IP 地址
  3. 添加了 2 个弹性 IP 地址并将它们“链接”到私有(private)地址
  4. 前往我的域名注册商处,将两个测试域名指向弹性 IP 地址
  5. 等到传播新的 IP 地址
  6. 我将 SSL 证书上传到 VPC 实例

然后我尝试编辑 ssl.conf, see line 74 to 93 & httpd.conf, see line 1046 to 1086 :

ssl.conf

<VirtualHost domain1.com:443>
ServerName www.domain1.com:443
DocumentRoot "/var/www/html"
SSLENGINE on
SSLCertificateFile /etc/ssl/domain1_com.crt
SSLCertificateKeyFile /etc/ssl/domain1_com.key
SSLCertificateChainFile /etc/ssl/domain1_com.ca-bundle
</VirtualHost>

<VirtualHost _default_:443>
...Default SSL certificate (domain1.com) here...
</VirtualHost>

httpd.conf

<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>

我也试过<VirtualHost *:443><VirtualHost IP.ADDRESS:443> , 也没有用。

结果基本上是这样的:

  1. domain1.com(这是默认的 SSL 证书)工作正常(解析正常,绿色条)
  2. domain2.com:甚至没有解决任何问题,即使我做了 ping www.domain2.com , 我得到了正确的弹性IP

我的问题是:知道如何让 domain2.com 解析并使用正确的 SSL 证书吗?


编辑/附加信息:

我也试过这个:

  1. 按照建议暂时停止了防火墙,即。 sudo service iptables stop
  2. 来自 EC2 外部,curl --connect-timeout 10 https://domain2.com给了我这个curl: (28) connect() timed out!

wget https://www.domain2.com/给了我这个:--2013-10-03 15:57:22-- domain2.com Resolving www.domain2.com... 54.229.111.22 Connecting to www.domain2.com|54.229.111.22|:443... failed: Connection timed out. Retrying.


编辑(2):

我注意到两件事:

  1. 如果我使用 2 个网络接口(interface)(每个 NIC 有一个私有(private) IP)sudo ifconfig不显示第二个 NIC(即 eth1 ),无论我使用一个还是两个 NIC,sudo ifconfig始终返回第一个私有(private) IP (10.0.0.10),从不返回第二个 (10.0.0.183)

毫不奇怪,无法访问的网站domain2.com对应第二个IP(缺失):10.0.0.183

  1. 此命令 curl --interface 10.0.0.10 ifconfig.me正确地重新调整关联到 domain1.com 的弹性 IP 地址同时

此命令 curl --interface 10.0.0.183 ifconfig.me返回:

curl: (45) bind failed with errno 99: Cannot assign requested address
  1. followed this guid , 我可以看到 eth1 ,但是 domain2.com 仍然无法访问

curl --interface 10.0.0.183 ifconfig.me现在返回这个:

curl: (7) Failed connect to ifconfig.me:80; Connection timed out

最佳答案

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

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

关于apache - 在亚马逊 VPC 上设置多个 SSL 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19138850/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com