使用 IIS7 上的 web.config 限制对子域的访问?

使用 IIS7 上的 web.config 限制对子域的访问?

我需要使用 IIS7 上的 web.config 文件对服务器上的“dev”子域进行密码保护。除了文件和 web.config 之外,我无法访问任何其他内容,因此很遗憾我无法安装模块或其他类似的东西。我检查了大约 6 个其他答案,但它们似乎都不能满足我的需要,或者根本不能满足我的需要。

子域名不是根域名的子文件夹,包含子域名的文件夹是根域名的兄弟文件夹,因此就像“account/domain.com”和“account/dev.domain.com”。

我不在乎它是否使用密码、IP 地址、cookie 或其他什么,我只想保护域名,以便只有我在开发时才能查看它。

答案1

我能够通过在子域的 Web 根目录中创建一个单独的 web.config 文件来保护子域(该文件在物理上作为根域内的子目录存在)。我认为此解决方案适用于子域以及域的基本子目录。

在 web.config 文件中,我添加了以下内容。为了清晰起见,我删除了无关的指令,但我想显示 web.config 文件的完整 xml 结构:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <security>      
            <authentication>      
                <anonymousAuthentication enabled="false" />      
                <basicAuthentication enabled="true" />           
            </authentication>      
        </security>
    </system.webServer>
</configuration>

重要的部分是在身份验证部分(位于配置> system.webServer>安全内)添加两个身份验证指令。

请注意,此方法要求我使用托管服务提供的主“服务器”登录,并且我无法手动指定要使用的用户名和密码。

但是,如果您需要快速保护 IIS7 服务器上的子目录或子域,这应该可以解决问题。我相信您需要使用的凭据是您用于访问 FTP 服务器的凭据,但我不确定这些凭据是否与所有人的“托管控制面板”凭据相同,还是仅适用于我的主机。

相关内容