You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

主机访问Ubuntu Apache状态页需密码但凭据不被接受问题求助

解决Apache状态页的认证与连接问题

兄弟,我来帮你捋清楚这个问题哈!你遇到的两个问题——浏览器提示“连接非私密”和认证凭据不对,咱们分开解决:

一、先搞定用户名密码的问题

你看到的登录弹窗,是Apache的HTTP基础认证,这个凭据和系统的root密码、本地用户密码完全没关系!是你在配置mod_status(状态页)的时候,专门用htpasswd命令创建的专属认证账号,不是系统里的账号哈。

找回或重新创建认证凭据:

  1. 先登录你的Ubuntu Server虚拟机,打开终端
  2. 先找找之前创建的认证文件,通常会放在Apache的配置目录里,跑这个命令看看:
    sudo cat /etc/apache2/.htpasswd
    
    如果能看到类似admin:$apr1$xxxxxx$xxxxxx的内容,那前面的admin就是用户名,密码就是你当时创建这个账号时设的。
  3. 要是找不到文件或者彻底忘了密码,直接重新建一个就行:
    sudo htpasswd -c /etc/apache2/.htpasswd 你想要的用户名
    
    把“你想要的用户名”换成你自己想设的名字,然后按提示输入两次新密码就行。
  4. 最后要确认Apache的状态页配置里指向了这个文件,打开配置文件:
    sudo nano /etc/apache2/mods-enabled/status.conf
    
    找到<Location /server-status>这段,确保里面的AuthUserFile路径和你刚才创建的一致,比如:
    <Location /server-status>
        SetHandler server-status
        # 下面是认证相关的配置,要确保路径正确
        AuthType Basic
        AuthName "Apache Status"
        AuthUserFile /etc/apache2/.htpasswd
        Require valid-user
    </Location>
    
    改完按Ctrl+O保存,回车确认,再按Ctrl+X退出,然后重启Apache生效:
    sudo systemctl restart apache2
    

二、解决“连接并非私密连接”的提示

你明明用的是http://开头的地址,浏览器却跳出来私密连接警告,大概率是浏览器自动把HTTP跳转成HTTPS了——要么是你之前配置过HTTPS规则,要么是浏览器缓存了旧的跳转记录。试试这几个办法:

  • 打开浏览器的无痕/隐私窗口,重新输入完整的http://my_domain_name:8080/server-status访问
  • 手动在地址栏敲死http://开头,别让浏览器自动补全成HTTPS
  • 检查Apache的虚拟主机配置或者.htaccess文件里有没有强制HTTPS的重写规则,要是有的话,暂时注释掉再试试

内容的提问来源于stack exchange,提问作者RICHARD TEUNEN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 07:46:32