VirtualHost:停用 SSL 的全部捕获 (443)

Posted

技术标签:

【中文标题】VirtualHost:停用 SSL 的全部捕获 (443)【英文标题】:VirtualHost: Deactivate catch all for SSL (443) 【发布时间】:2015-02-28 10:30:10 【问题描述】:

我创建了一个 SSL 虚拟主机

<VirtualHost *:443>
    ServerName cloud.url.com
    ServerAlias www.url.com
    DocumentRoot /var/www/owncloud
    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/owncloud.crt
    SSLCertificateKeyFile /etc/apache2/ssl/owncloud.key
</VirtualHost>

我的问题是现在每个 SSL 连接都指向/var/www/owncloud

例如https://url.com 将转到/var/www/owncloud 而不是/var/www/

我怎样才能只为cloud.url.com 和其他域“忽略 ssl”设置 VirtualHost - 所以他们留在那里的目录中?

【问题讨论】:

【参考方案1】:

事实上,你的虚拟主机说 www.url.com 和 cloud.url.com 去 /var/www/owncloud。我认为您不希望 www.url.go 指向您自己的云。所以,只需删除 serverAlias :

<VirtualHost *:443>
    ServerName cloud.url.com
    DocumentRoot /var/www/owncloud
    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/owncloud.crt
    SSLCertificateKeyFile /etc/apache2/ssl/owncloud.key
</VirtualHost>

我认为您没有设置任何虚拟主机在端口 443 上侦听 url.com。这就是为什么 apache 将其重定向到使用 https 配置的 url。 如果你不想在 url.com 上使用 ssl,你可以这样做:

<VirtualHost *:443>
  ServerName url.com
  Redirect 301 / http://url.com
</VirtualHost>

【讨论】:

【参考方案2】:

找到解决方案,将其放在一个文件中:

     <VirtualHost *:443>
       ServerName cloud.domain.com
       ServerAlias www.cloud.domain.com
       DocumentRoot /var/www/owncloud
       <Directory /var/www/owncloud/>
         Options -Indexes FollowSymLinks MultiViews
         AllowOverride All
         Order allow,deny
         allow from all
       </Directory>
       SSLEngine on
       SSLCertificateFile /etc/apache2/ssl/owncloud.crt
       SSLCertificateKeyFile /etc/apache2/ssl/owncloud.key
     </VirtualHost>

     <VirtualHost *:443>
       ServerName domain.com
       ServerAlias *.domain.com
       Redirect 301 / http://domain.com
     </VirtualHost>

谢谢!

【讨论】:

以上是关于VirtualHost:停用 SSL 的全部捕获 (443)的主要内容,如果未能解决你的问题,请参考以下文章

使用 Virtualhost 在 Apache 中配置 SSL

apache配置virtualhost https(ssl)

在 ssl VirtualHost 中设置 Apache mod_jk

带有 mod-proxy 和 SSL 的 Apache VirtualHost

text 真正简单的SSL - 如何在无法访问后端时卸载/停用

http服务(nginxapache)停用不安全的SSL协议TLS1.0和TLS1.1协议/启用TLS1.3