首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache httpd.conf只对子域使用SSL,对于其他https URL只提供404。

Apache httpd.conf只对子域使用SSL,对于其他https URL只提供404。
EN

Server Fault用户
提问于 2012-05-17 19:57:43
回答 2查看 1.8K关注 0票数 1

我有我的网站邮件客户端的当前配置:

代码语言:javascript
复制
    NameVirtualHost *:443

    <VirtualHost *:443>
            SSLEngine on
            SSLCertificateFile /etc/pki/tls/certs/ca.crt
            SSLCertificateKeyFile /etc/pki/tls/private/ca.key
            <Directory /var/www/mailclient>
                    AllowOverride All
            </Directory>
            DocumentRoot /var/www/mailclient
            ServerName mail.*
            ServerAlias mail.*
    </VirtualHost>

当我尝试访问https:// mail.domain1.com或https:// mail.domain2.com时,这很好。

但是,当我试图访问https:// domain1.com或https:// sub.domain1.com时,我仍然看到web邮件客户端,但我只想看到404或类似的东西。那么,如何将这个virtualHost限制为特定的子域呢?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2012-05-17 21:21:51

配置一个默认的vhost,它将回显错误。它需要位于当前vhost之上才是默认的,但低于NameVirtualHost配置。

代码语言:javascript
复制
NameVirtualHost *:443

<VirtualHost *:443>
    ServerName default.filler.name
    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/ca.crt
    SSLCertificateKeyFile /etc/pki/tls/private/ca.key
    <Location />
        Order Allow,Deny
        Deny from all
    </Location>
</VirtualHost>

<VirtualHost *:443>
    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/ca.crt
    SSLCertificateKeyFile /etc/pki/tls/private/ca.key
    <Directory /var/www/mailclient>
        AllowOverride All
    </Directory>
    DocumentRoot /var/www/mailclient
    ServerName mail.*
    ServerAlias mail.*
</VirtualHost>

它是403而不是404。够近了吗?

票数 1
EN

Server Fault用户

发布于 2012-05-17 20:11:34

当Apache找不到合适的主机时,它将为默认的(*) vhost提供服务。

你可以用一个默认vhost来解决这个问题。

代码语言:javascript
复制
<VirtualHost _default_:443>
  RedirectMatch permanent ^/?(.*) http://mymainwebsite.com/$1
</VirtualHost>

这将防止它弹出,如果有人连接到端口443与IP或另一个子域。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/390144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档