在Apache2.2中,即使使用SSL也可以使用VirtualHost功能

将 Apache 2.2 中的 VirtualHost 适用于使用 SSL 的网站。

补充

根据评论提到的,这个设置适用于 Apache2.2 的版本。对于 Apache2.3 以及更高版本(一般情况下,我们会使用2.4 或更高版本),可以直接使用 NameVirtualHost 而不需要写这个设置。

当前这个指令目前没有任何影响。

听说在 2.4 版本中,即使有设置也不会出错。
(可能在将来的版本升级中会完全废除并导致错误出现)

一般的VirtualHost的配置

当应用Apache的VirtualHost时,若不使用SSL

NameVirtualhost *:80

将其设定后

<VirtualHost *:80>
    ServerName virtualhost.example.com
    DocumentRoot /var/www/virtualhost.example.com

    ErrorLog logs/virtualhost_error_log
    CustomLog logs/virtualhost_access_log combined env=!no_log
</VirtualHost>

配置具有SSL的站点的虚拟主机。

只使用SSL的网站,只需要按以下方式进行设置,但仅此还不够。

<VirtualHost *:443>
    ServerName sslvirtual.example.com
    DocumentRoot /var/www/sslvirtual.example.com

    SSLEngine on
    SSLCertificateFile /path/to/file.crt
    SSLCertificateKeyFile /path/to/file.key

    ErrorLog logs/sslvirtual_error_log
    CustomLog logs/sslvirtual_access_log combined env=!no_log
</VirtualHost>

虽然出乎意料,但是意识之外了。

NameVirtualhost *:443

如果不包括这个描述,就无法设置VirtualHost,所以不要忘记。

广告
将在 10 秒后关闭
bannerAds