dar*_*dar 18 mod-ssl apache-2.2
在 ubuntu 上的 Apache2 中,我的站点在 80 上侦听,现在我想添加 SSL。有没有办法为端口 443 启用 SSLEngine,这样我就不必复制整个 VirtualHost 块?
当我这样做时:
Listen 80
Listen 443
NameVirtualHost *
<VirtualHost *>
SSLEngine On
... a bunch more lines...
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
它正在打开端口 80 的 SSLEngine。有没有办法只使用一个 VirtualHost 块,并且只打开端口 443 的 SSLEngine?所以我可以做这样的事情吗?
Listen 80
Listen 443
NameVirtualHost *
<VirtualHost *>
<IfPort 443>
SSLEngine On
</IfPort>
... a bunch of lines I don't want to copy into another VirutalHost block...
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
wom*_*ble 14
您不能让一个虚拟主机同时执行 HTTP 和 HTTPS,因为它们是为不同协议提供服务的独立虚拟主机。相反,您应该将所有常见配置放入一个单独的文件中,然后将该文件包含在域的 SSL 和非 SSL 虚拟主机中。
最小的例子:
# /etc/apache2/sites-available/example.com
<VirtualHost *:80>
Include /etc/apache2/domains/example.com
</VirtualHost>
<VirtualHost 192.0.2.1:443>
SSLEngine On
SSLCertificateFile /etc/ssl/example.com_crt
SSLCertificateKeyFile /etc/ssh/example.com_key
Include /etc/apache2/domains/example.com
</VirtualHost>
# /etc/apache2/domains/example.com
ServerName example.com
ServerAlias www.example.com
ServerAdmin webmaster@example.com
DocumentRoot /home/example/public_html
ErrorLog /home/example/apache/error.log
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4575 次 |
最近记录: |