目录
[二、如何解决401 Unauthorized问题](#二、如何解决401 Unauthorized问题)
前言
在当今数字化时代,数据库作为信息存储与管理的核心工具,在各类企业与项目中扮演着不可或缺的角色。而 PostgreSQL 作为一种功能强大的开源关系型数据库,凭借其卓越的性能、可靠性和灵活性,受到了众多开发人员与数据从业者的青睐。pgAdmin4 作为 PostgreSQL 的官方管理工具,为用户提供了便捷的数据库管理界面,方便用户进行数据库的创建、查询、维护等一系列操作。然而,在使用 Windows 操作系统时,部分用户在通过 pgAdmin4 连接 PostgreSQL 数据库的过程中,却遭遇了 401 Unauthorized 异常,这一问题无疑给数据库的正常使用带来了阻碍,也让许多用户感到困惑与无奈。401 Unauthorized 异常通常意味着客户端在请求访问服务器资源时,未能提供有效的身份验证信息,从而被拒绝访问。这种情况可能由多种原因引起,例如配置错误、权限问题、网络问题等。

面对这一棘手问题,许多用户在尝试自行解决时往往无从下手,耗费了大量的时间和精力,却依然无法找到有效的解决方案。而实际上,只要掌握正确的方法,这一问题并非无法攻克。在本文中,我们将深入探讨 Windows 平台下 pgAdmin4 连接报 401 Unauthorized 异常的两种有效解决途径,帮助用户快速定位问题并成功恢复数据库的正常连接。
第一种解决方式是复制访问链接。在某些情况下,pgAdmin4 与数据库服务器之间的连接配置可能出现了问题,导致身份验证信息无法正确传递。通过复制访问链接,我们可以尝试绕过原有的连接配置,直接使用正确的链接地址来建立连接。这种方法的关键在于确保复制的链接是准确无误的,并且包含了所有必要的身份验证信息,如用户名、密码、服务器地址等。在实际操作中,用户需要仔细检查链接的格式和内容,确保每个参数都符合数据库服务器的要求。一旦链接正确,pgAdmin4 就能够顺利地与数据库服务器建立连接,从而解决 401 Unauthorized 异常问题。
第二种解决途径是设置默认浏览器。浏览器在 pgAdmin4 的使用过程中扮演着重要的角色,它负责显示和交互操作界面。如果默认浏览器的配置不当,可能会导致身份验证信息无法正确加载或传递,进而引发 401 Unauthorized 异常。通过设置一个稳定且兼容性良好的默认浏览器,我们可以为 pgAdmin4 提供一个更加可靠的运行环境。在 Windows 系统中,用户可以选择如 Chrome、Firefox 等主流浏览器作为默认浏览器。在设置过程中,需要确保浏览器的版本是最新的,因为旧版本的浏览器可能存在兼容性问题。此外,还需要检查浏览器的设置选项,如安全设置、隐私设置等,确保它们不会对 pgAdmin4 的正常运行造成干扰。一旦默认浏览器设置正确,pgAdmin4 在连接数据库时就能够更加顺畅地进行身份验证,从而有效避免 401 Unauthorized 异常的发生。
在接下来的内容中,我们将详细阐述这两种解决方法的具体操作步骤、注意事项以及可能遇到的问题和解决方案,旨在为用户提供清晰、实用的指导,帮助大家快速解决 Windows 平台下 pgAdmin4 连接报 401 Unauthorized 异常的问题,让数据库管理过程变得更加顺畅和高效。
一、场景重现
事出有因,让我们来看看发生这次访问事故的前因后果,一切变更都是有原因的。本节将重点介绍这中间发生了什么?之前用的好好的Chrome为什么也一度不能连接pgAdmin4,同时其它的浏览器也是不能正常访问的。为了让大家能清晰的了解这次事故,如果大家在平时的工作中也遇到了类似的情况,不妨来看看,网络上解决办法很多。但是很多的解决办法没有经过验证,这里以我们验证过的方案来进行介绍,亲测可用。
1、事件发生的前置
由于最近要实现一个前端的功能,因此对Chrome浏览器的版本进行了一个升级,将原来102的版本升级到了109。本来以为是一次正常的升级,因为升级完成后,新的前端功能确实正常了。但是最近想使用pgAdmin来查询空间数据库,因为navicat工具并没有提供直接查看空间数据的组件。本来是一次正常的操作,打开正常的网站,或者从开始菜单进入到原来的pgAdmin4的管理窗口中。却不曾想到,熟悉的界面没有打开,却打开了一个陌生的界面,如下图所示:

在页面上直接报了一个未授权的错误,错误信息如下:
bash
Unauthorized
The server could not verify that you are authorized to access the URL requested.
You either supplied the wrong credentials (e.g. a bad password),
or your browser doesn't understand how to supply the credentials required.
咋一看这个错误就是一个授权的问题,但是之前为什么是好好的,升级了浏览器后就出现呢?
2、IE11浏览器不行

当我们在开始菜单中打开pgAdmin4,可以正常打开一个访问窗口,可以发现使用IE浏览器访问服务,也报了401的未授权错误,如下图:

3、Firefox也不行
接下来我们使用Firefox来访问页面,也是同样的页面和同样的提示:

二、如何解决401 Unauthorized问题
虽然看到了报错信息,我们初步定位是未授权的问题。那么应该如何来解决这个问题呢?首先让Chrome等多种浏览器都能访问应用程序呢?在某度上进行信息检索时,出现的答案可能不是非常准确。当然你也可以一个一个的去验证,但是比较费事。从结果来看,确实不是非常明确。

1、来自官方的解决办法
在官网中有关于401问题的一些连接说明,401官网说明链接。

翻译过来是:
bash
我今天按照以下说明尝试在 Kubuntu 18.04 上安装 pgadmin4:
https://wiki.postgresql.org/wiki/Apt
运行 pgadmin4 后,在 Firefox 中显示 401 未授权页面。
您可以使用 pgAdmin 4 托盘图标在默认浏览器中浏览 pgAdmin 4。
如果想更改浏览器,请通过 pgAdmin 4 托盘图标使用配置选项。
要将 Firefox 设置为 pgAdmin 的默认浏览器,请按如下方式提供命令:
"<Firefox路径>" %URL%
例如:"/usr/bin/firefox" %URL%
其实跟我们的遇到的问题基本是一致的,同时官网也有一个解决方案。下面我们就来试试官方的解决办法-设置默认浏览器。
2、将Chrome设置为默认浏览器
首先我们来看看如何设置pgAdmin的默认浏览器。在Windows下面打开pgAdmin4的托盘图标,如下所示:

点击"配置"按钮打开如下设置页面,

在浏览器命令行总输入以下内容:
bash
"C:/Program Files/Google/Chrome/Application/chrome.exe" %URL%
命令表示Chrome.exe的安装位置,这里的命令一定要使用字符串包含起来,并且后面的%URL%一定要包含,否则不会生效。配置完成后,点击ok即可完成。重启服务后,就解决了Chrome浏览器无法访问的问题。

3、从启动面板复制访问连接
Chrome浏览器的访问问题解决了,使用默认浏览器的方式解决的。但是如果你电脑上同时有好几个不同的浏览器,比如之前提到的IE和FireFox等,总不能需要使用哪个就设置哪个浏览器为默认浏览器吧!那么这种问题应该如何解决呢?这里分享一种解决办法。方式也是很粗暴,一样也是通过pgAdmin的托盘面板中进行访问连接的操作。这里贴出复制出来的访问地址如下:
bash
http://127.0.0.1:55910/?key=3e3b0932-13f6-4187-a2f0-93ea0eaf97c0
可以看到,在访问链接URL之后,增加了一个key,这个key就相当于是一个访问的令牌,将这个带了key的链接粘贴到其它浏览器的地址栏中就可以实现所有浏览器的无缝访问了。比如在IE中粘贴后就可以访问了,页面如下:

再来看看在FireFox中页面已经成功可以获取,界面如下:

到此,基本就解决了我们遇到的访问问题,希望对大家有所帮助。
三、总结
以上就是本文的主要内容,在本文中,我们将深入探讨 Windows 平台下 pgAdmin4 连接报 401 Unauthorized 异常的两种有效解决途径,帮助用户快速定位问题并成功恢复数据库的正常连接。在上述内容中,我们将详细阐述这两种解决方法的具体操作步骤、注意事项以及可能遇到的问题和解决方案,旨在为用户提供清晰、实用的指导,帮助大家快速解决 Windows 平台下 pgAdmin4 连接报 401 Unauthorized 异常的问题,让数据库管理过程变得更加顺畅和高效。通过本文即可学到解决401问题的两种有效方式。行文仓促,定有不足之处,欢迎各位朋友在评论区批评指正,不胜感激。