如何实现仅需对使用 Apache 虚拟主机的一组子域进行一次身份验证?

如何实现仅需对使用 Apache 虚拟主机的一组子域进行一次身份验证?

我有一台 Ubuntu 20.04 LTS 服务器,它有一组虚拟主机配置,使用基本身份验证保护一组子域,例如,假设 secure.example.com 受密码保护,并且www.secure.example.com、sub.secure.example.com 和www.sub.secure.example.com然而我的问题是,每次你更改子域名时,它都会要求你重新进行身份验证,例如如果你从 secure.example.com 转到www.secure.example.com它会要求您重新进行身份验证,这是不希望的,我该如何使身份验证对某一组子域有效,以便您只需对这一组子域进行一次身份验证?

VirtualHost 配置示例:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName secure.example.com
    ServerAlias www.secure.example.com
    DocumentRoot /var/www/secure.example.com/public_html

    <Directory /var/www/secure.example.com/public_html/>
        AuthName "Restricted Content"
        AuthType Basic
        AuthUserFile /etc/apache2/.htpasswd
        Require valid-user

        Options Indexes FollowSymLinks
        AllowOverride All
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

答案1

基本身份验证会在每次请求时传递密码。允许浏览器重复使用输入的密码来处理不同的主机将带来巨大的安全风险。

所以不,这是不可能的。

相关内容