Apache ssl和virtualhost配置不正确

Apache ssl和virtualhost配置不正确,apache,ssl,https,httpd.conf,rhel,Apache,Ssl,Https,Httpd.conf,Rhel,我正试图在一台台灯机上建立我所有公司的网站(使用RHEL6)。我遇到的问题是,我需要某个子域只能通过ssl访问。我已经在互联网上搜索了好几天,寻找合适的方法来实现这一点,但我还没有找到一个(对我来说)有效的解决方案。我尝试在子域的目录中创建一个.htaccess文件,并使用RewriteRule,但没有成功。我还尝试将SSLRequireSSL放入VirtualHost中的httpd.conf文件中,但没有成功(附带说明,您是将SSLRequireSSL放入*:80虚拟主机还是*:443虚拟主机

我正试图在一台台灯机上建立我所有公司的网站(使用RHEL6)。我遇到的问题是,我需要某个子域只能通过ssl访问。我已经在互联网上搜索了好几天,寻找合适的方法来实现这一点,但我还没有找到一个(对我来说)有效的解决方案。我尝试在子域的目录中创建一个
.htaccess
文件,并使用RewriteRule,但没有成功。我还尝试将
SSLRequireSSL
放入VirtualHost中的httpd.conf文件中,但没有成功(附带说明,您是将
SSLRequireSSL
放入*:80虚拟主机还是*:443虚拟主机?)。我不确定服务器上是否有mod_rewrite(我将检查并编辑此内容)

下面是我的虚拟主机代码

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>
NameVirtualHost*:80
名称虚拟主机*:443
服务器管理员netadmin@domain1.com
DocumentRoot/var/www/html/domain1.com/
Servername域名1.com
ServerAlias www.domain1.com
错误日志/本地错误
自定义日志/访问日志公用
服务器管理员netadmin@domain1.com
DocumentRoot/var/www/html/domain2.co.uk/
ServerName域名2.co.uk
ServerAlias www.domain2.co.uk
错误日志/本地错误
自定义日志/访问日志公用
服务器管理员netadmin@domain1.com
DocumentRoot/var/www/html/domain1.com/logo
Servername logo.domain1.com
ServerAlias www.logo.domain1.com
错误日志/本地错误
自定义日志/访问日志公用
斯伦金安
SSLCertificateFile/etc/httpd/conf/server.crt
SSLCertificateKeyFile/etc/httpd/conf/server.key
服务器管理员netadmin@domain1.com
DocumentRoot/var/www/html/domain1.com/
Servername域名1.com
ServerAlias域名1.com www.domain1.com
错误日志/本地错误
自定义日志/访问日志公用
斯伦金安
SSLCertificateFile/etc/httpd/conf/server.crt
SSLCertificateKeyFile/etc/httpd/conf/server.key
只是要明确一点,我希望它能够访问整个网站与ssl,但它只需要在子域logo.domain1.com


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

似乎没有涉及任何编程,因此这可能会发生在ServerFault或SuperUser上,但当您思考时,您是否尝试过:
RewriteCond%{HTTPS}关闭
然后是
重写规则(.*)HTTPS://%{HTTP_HOST}%{REQUEST\u URI
?是的。它不起作用。