【发布时间】:2019-01-18 23:17:05
【问题描述】:
如何将不同的 SSL 证书应用于同一 IP、同一服务器和同一虚拟主机上的不同域(我使用的是 apache 2.2)?现在它不工作,需要在 apache 2.2 上使用单个虚拟主机。
你有我正在尝试的东西:
<VirtualHost *:80>
ServerName main_url.com
ServerAlias *.main_url.com
DocumentRoot /app_path
<Directory "/app_path">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
NameVirtualHost *:443
<VirtualHost *:443>
ServerName main_url.com
ServerAlias *.main_url.com
DocumentRoot /app_path
<Directory "/app_path">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
SSLEngine on
SSLCertificateFile /certs/main_url_com.crt
SSLCertificateKeyFile /certs/main_url_com.key
SSLCertificateChainFile /certs/main_url_com.ca-bundle
</VirtualHost>
<VirtualHost *:80>
ServerName url_site1.com
Redirect permanent / https://url_site1.com/
</VirtualHost>
<VirtualHost *:443>
ServerName url_site1.com
DocumentRoot /app_path
<Directory "/app_path">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
SSLEngine on
SSLCertificateFile /certs/url_site1.crt
SSLCertificateKeyFile /certs/url_site1.key
SSLCertificateChainFile /certs/url_site1.ca-bundle
</VirtualHost>
<VirtualHost *:80>
ServerName url_site2.com
Redirect permanent / https://url_site2.dk/
</VirtualHost>
<VirtualHost *:443>
ServerName url_site2.com
DocumentRoot /app_path
<Directory "/app_path">
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
SSLEngine on
SSLCertificateFile /certs/url_site2.crt
SSLCertificateKeyFile /certs/url_site2.key
SSLCertificateChainFile /certs/url_site2.ca-bundle
</VirtualHost>
所有帮助将不胜感激。
谢谢
法比奥
【问题讨论】:
-
您可能需要检查您的 OpenSSL 安装是否支持 SNI:SSL with Virtual Hosts Using SNI。除此之外,配置非常简单,因为您不需要做任何与基于 ip/port 的设置不同的事情。
标签: apache ssl virtualhost