3

Amazon VPC インスタンスで複数の SSL 証明書をセットアップする方法を見つけようとして、壁に頭をぶつけてきました ( Amazon の標準の Linux AMI を使用しています) 。

これが私がしたことです:

  1. VPC インスタンスをセットアップします
  2. セカンダリ プライベート IP アドレスを追加しました
  3. 2 つのエラスティック IP アドレスを追加し、それらをプライベート アドレスに「リンク」しました
  4. ドメイン レジストラにアクセスし、2 つのテスト ドメインを Elastic IP アドレスに指定しました
  5. 新しい IP アドレスが反映されるまで待機しました
  6. SSL 証明書を VPC インスタンスにアップロードしました

次に、ssl.conf を編集してみました。74 ~ 93 行目httpd.conf、1046 ~ 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):

私は2つのことに気づきました:

  1. 2 つのネットワーク インターフェイス (各 NIC に 1 つのプライベート IP を持つ)を使用するとsudo ifconfig 、2 番目の NIC (つまり ) が表示されず、eth11 つまたは 2 つの NIC を使用するかどうかにかかわらず、sudo ifconfig常に最初のプライベート IP (10.0.0.10) が返され、2 番目の IP は返されません。 1 つ (10.0.0.183)

当然のことながら、到達不能な Web サイトdomain2.comは 2 番目の IP (欠落している) に対応しています: 10.0.0.183

  1. このコマンドは、 whilecurl --interface 10.0.0.10 ifconfig.meに関連付けられた Elastic IP アドレスを正しく返します。domain1.com

このコマンドは次をcurl --interface 10.0.0.183 ifconfig.me返します。

curl: (45) bind failed with errno 99: Cannot assign requested address
  1. はこのGUIDをたどりました、私は見ることができますがeth1まだ到達できませんdomain2.com

そしてcurl --interface 10.0.0.183 ifconfig.me今これを返します:

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

4

3 に答える 3

2

SSL には IP ベースの仮想ホスティングを使用する必要があります。リッスンする IP アドレスは、パブリック IP ではなく、プライベートになります。

ポート 80 のサイトでは、名前ベースの仮想ホスティングを使用できます。ただし、このディレクティブを使用していることを確認する必要があります。NameVirtualHost *:80

于 2013-10-03T01:28:21.613 に答える
2

このチュートリアルは私のためにそれを修正しました

1 つの小さな (しかし重要な) 注意:

このコマンドを入力する代わりに (ステップ #5):

echo "1 admin" >> /etc/iproute2/rt_tables

代わりにこれを行う必要があります。

sudo vi /etc/iproute2/rt_tables

1 admin次に、ファイルの最後に追加します

于 2013-10-06T21:53:52.500 に答える