[英]Multiple SSL certs on one EC2 instance
我有一個由2個不同的域(.com.au和.co.nz)指向的ec2實例。 這很好。
我正在嘗試為兩個域都設置SSL。 目前,我已經使用LetsEncrypt並成功為co.nz域設置了SSL,現在希望對.com.au做同樣的事情。
我在這里遵循了指南:
但是,當我通過SSLLabs.com運行.com.au網站時,出現“證書名稱不匹配錯誤”,當我嘗試直接進入.com.au域時,(從chrome)得到了“該服務器無法證明它是**。com.au;其安全證書來自**。co.nz。”
.com.au域是ss.conf文件中的第二個“虛擬主機”條目,當我更改順序時,.co.nz域出現相同的錯誤,因此似乎只讀取其中一個。條目還是什么?
謝謝大家的幫助
最佳實踐是創建啟動配置並創建Auto Scaling組,然后讓ASG處理EC2實例的創建。 在AWS中,您的實例可以隨時被殺死,依靠單個EC2實例不是一個好習慣。 您可能會暫時將所有可能存儲在臨時存儲中的數據丟失!
如果是Apache:
您可以在ELB或Apache / Nginx(服務器)級別終止SSL證書
如果是多租戶(多客戶端)架構,我們可能需要在單個ELB下支持不同的客戶(具有不同的域-* .abc.com,*。xyz.com),而這在現有的ELB中將不起作用設定。
解決方案:您可以通過在ELB中添加偵聽器來實現此目的,如下所示:TCP 443(而不是HTTPS-443)-這將通過443請求,然后,您可以在服務器級別終止SSL證書
您必須從外部供應商(例如GoDaddy)購買證書,然后在服務器級別安裝和終止證書。
例如,Apache虛擬主機看起來像
NameVirtualHost *:443
<VirtualHost *:443>
ServerName abc.com
####abc HTTPS Certificate
SSLEngine on
SSLCertificateFile /opt/organization/site/ssl_keys/abc/abc_gd.crt
SSLCertificateKeyFile /opt/organization/site/ssl_keys/abc/abc.pem
SSLCertificateChainFile /opt/organization/site/ssl_keys/abc/abc_gd_bundle.crt
WSGIScriptAlias / /opt/organization/site/deployment-config/abc.wsgi
ServerSignature On
Alias /media/ /opt/organization/site/media/
<Directory /opt/organization/site/media/>
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
NameVirtualHost *:80
<VirtualHost *:80>
ServerName abc.com
#Rewrite to HTTPS in case of HTTP
RewriteEngine On
RewriteCond %{SERVER_NAME} abc.com
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule . https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
WSGIScriptAlias / /opt/organization/site/deployment-config/abc.wsgi
ServerSignature On
Alias /media/ /opt/organization/site/media/
<Directory /opt/organization/site/media/>
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.