可通过宝塔面板的“网站目录密码保护”功能、手动编辑Nginx配置文件或Apache下的.htaccess文件三种方式实现网站访问密码限制,分别适用于全局路径、特定子路径及Apache环境下的灵活认证需求。

如果您在宝塔面板中托管了包含内部资料的网站,希望限制未授权用户访问,可通过配置网站访问密码实现基础身份验证。以下是具体操作步骤:
一、使用宝塔面板内置的“网站目录密码保护”功能
该功能基于 Nginx/Apache 的 auth_basic 模块,通过 HTTP Basic Auth 实现访问拦截,无需修改程序代码,适用于静态页面或后台入口路径。
1、登录宝塔面板,进入【网站】列表,点击目标站点右侧的【设置】按钮。
2、在弹出窗口中切换至【网站目录】选项卡。
3、勾选【密码访问】开关,启用该功能。
4、在【用户名】栏输入允许访问的账号名称,例如 admin。
5、在【密码】栏输入对应密码,系统将自动进行加密存储,无需手动处理哈希值。
6、点击【保存】按钮,宝塔会自动重载 Web 服务配置并生效。
二、手动编辑 Nginx 配置文件添加认证指令
适用于需要对特定子路径(如 /private/ 或 /api/)单独设密,或需自定义认证域名称的场景。此方式绕过面板界面,直接控制底层配置。
1、进入【网站】→【设置】→【配置文件】选项卡,找到 Nginx 配置内容区域。
2、在 server 块内、location / { ... } 区域之外,插入新的 location 块,例如:
location ^~ /internal/ {
auth_basic "Restricted Area";
auth_basic_user_file /www/wwwroot/your-site/.htpasswd;
}
3、使用宝塔终端或 SSH 登录服务器,执行命令生成密码文件:
htpasswd -c /www/wwwroot/your-site/.htpasswd staff
4、按提示两次输入密码,完成后确保该文件权限为 644,且 Nginx 进程可读取。
5、返回配置文件页面,点击【保存】,再点击【重载配置】使变更生效。
三、通过 .htaccess 文件在 Apache 环境中启用密码保护
仅适用于网站运行在 Apache 引擎下,且已开启 AllowOverride All 的站点。该方式便于迁移和版本管理,无需重启服务即可更新规则。
1、确认网站根目录或目标子目录(如 /backup/)中存在可写入的 .htaccess 文件。
2、编辑该文件,添加以下两行:
AuthType Basic
AuthName "Internal Documents"
3、添加用户凭证路径:
AuthUserFile /www/wwwroot/your-site/.htpasswd
4、指定允许访问的用户:
Require user manager
5、使用 htpasswd 命令创建或追加用户:
htpasswd -b /www/wwwroot/your-site/.htpasswd manager your_secure_password
6、检查 Apache 是否加载 mod_auth_basic 模块,若未启用,需在【软件商店】→【Apache 设置】→【配置修改】中确认已勾选。










