0

我正在尝试在一台 LAMP 机器上设置我所有的公司网站(使用 RHEL6)。我遇到的问题是我需要某个子域只能通过 ssl 访问。我已经在互联网上搜索了几天寻找正确的方法来做到这一点,但我还没有找到一个(对我来说)有效的解决方案。我尝试.htaccess在子域的目录中创建一个文件,并使用 RewriteRule,但这没有奏效。我还尝试将SSLRequireSSL我的 httpd.conf 文件放入 VirtualHost 中,但它不起作用(顺便说一句,您是放入SSLRequireSSL*:80 虚拟主机还是 *:443 虚拟主机?)。我不确定我们是否在服务器上有 mod_rewrite(我会检查并编辑它)。

下面是我的 VirtualHost 代码。

NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:80>
    ServerAdmin netadmin@domain1.com
    DocumentRoot /var/www/html/domain1.com/
    Servername domain1.com
    ServerAlias www.domain1.com
    ErrorLog logs/localerror
    CustomLog logs/accesslog common
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin netadmin@domain1.com
    DocumentRoot /var/www/html/domain2.co.uk/
    ServerName domain2.co.uk
    ServerAlias www.domain2.co.uk
    ErrorLog logs/localerror
    CustomLog logs/accesslog common
</VirtualHost>
<VirtualHost *:443>
    ServerAdmin netadmin@domain1.com
    DocumentRoot /var/www/html/domain1.com/logo
    Servername logo.domain1.com
    ServerAlias www.logo.domain1.com
    ErrorLog logs/localerror
    CustomLog logs/accesslog common
    SSLEngine on
    SSLCertificateFile /etc/httpd/conf/server.crt
    SSLCertificateKeyFile /etc/httpd/conf/server.key
</VirtualHost>
<VirtualHost *:443>
    ServerAdmin netadmin@domain1.com
    DocumentRoot /var/www/html/domain1.com/
    Servername domain1.com
    ServerAlias domain1.com www.domain1.com
    ErrorLog logs/localerror
    CustomLog logs/accesslog common
    SSLEngine on
    SSLCertificateFile /etc/httpd/conf/server.crt
    SSLCertificateKeyFile /etc/httpd/conf/server.key
</VirtualHost>

为了清楚起见,我希望可以使用 ssl 访问整个站点,但仅在子域 logo.domain1.com 上 需要它。

编辑:我们确实安装了 mod_ssl 和 mod_rewrite。

4

0 回答 0