我正在尝试在一台LAMP机器上设置我所有的公司网站(使用RHEL6)。我遇到的问题是我需要某个子域只能被ssl访问。我已经在互联网上搜索了几天寻找合适的方法,但是我还没有找到适用于我的解决方案。我尝试在子域的目录中创建一个.htaccess
文件,并使用RewriteRule,但这没有用。我也尝试将SSLRequireSSL
放入VirtualHost中的httpd.conf文件中,但它不起作用(另外,请注意,您将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上 required 。
编辑:我们安装了mod_ssl和mod_rewrite。