So beheben Sie den pgAdmin 4 v3.0 + Port Number

6045
Jeff G

Ich habe gerade PostgreSQL 10.4 installiert und festgestellt, dass die mit dieser Version mitgelieferte pgAdmin 4 v3.0-Schnittstelle einen lokalen Webserver und eine Browser-Schnittstelle verwendet. Die Anwendung scheint standardmäßig einen kurzlebigen Port (49152 bis 65535) zu verwenden, der vom Betriebssystem (in meinem Fall Windows 10) zugewiesen wird. Ich arbeite jedoch in einer Umgebung, in der die Firewall HTTP-Verbindungen blockiert. Dadurch wird die Verbindung zur pgAdmin-Website verhindert. Gibt es eine Möglichkeit, die Portnummer zu fixieren, anstatt einen vom Betriebssystem zugewiesenen kurzlebigen Port zu verwenden?

Ich habe die Dokumentation zu pgAdmin 4 v3.0 durchgesehen, aber nichts über diese Art von Konfiguration gefunden. Als Problemumgehung weiß ich, dass ich pgAdmin 4 v2.1 mit dem Standalone-Installationsprogramm installieren kann. Ich hasse jedoch die Idee, dass wir niemals ein Upgrade durchführen können, wenn wir diesen Ansatz verwenden.

BEGINN BEARBEITEN

Der Fehler, den ich im Webbrowser (IE11 unter Windows Server 2016) erhalte, lautet:

Nicht autorisiert

Der Server konnte nicht überprüfen, ob Sie berechtigt sind, auf die angeforderte URL zuzugreifen. Sie haben entweder die falschen Anmeldeinformationen angegeben (z. B. ein falsches Kennwort) oder Ihr Browser versteht nicht, wie er die erforderlichen Anmeldeinformationen bereitstellt.

Bei der Suche nach diesem Problem habe ich auf StackOverflow folgende Frage gefunden: pg4admin 401 Unauthorized Error

Diese Frage beschreibt mein Problem genau. Keine dieser Antworten löste jedoch mein Problem. Die Tray-Anwendung scheint sich erfolgreich an die richtigen Ports zu binden ( netstat -a -nscheint korrekt zu sein) und die pgAdmin-Protokolldatei enthält nichts, was verdächtig erscheint. Ich werde diese Frage offen lassen, da das Festlegen der Portnummer eine vernünftige Sache zu sein scheint, während ich versuche festzustellen, warum pgAdmin nicht funktioniert.

2
Blockiert Ihre Firewall tatsächlich Verbindungen zu _localhost_? Das ist eher ungewöhnlich. grawity vor 5 Jahren 0
Ich habe nicht bestätigt, dass die Firewall die Verbindung blockiert. Alles, was ich weiß, ist, dass die pgAdmin-Weboberfläche nicht funktioniert, da keine Verbindung zu `http: //127.0.0.1: port` hergestellt werden kann. Ich weiß, dass eine Anfrage an unsere IT-Abteilung, Ports in dem fraglichen System zu öffnen, erfordert, dass sowohl eine Portnummer als auch ein Protokoll angegeben werden. Angesichts dieses Wissens und der Tatsache, dass es nicht funktionierte, nahm ich die Vermutung an, dass die Firewall daran schuld war. Morgen füge ich den Text der Fehlermeldung hinzu, die im Browser angezeigt wird, und versuche, den Fehler durch Überprüfen der Protokolldateien zu überprüfen. Jeff G vor 5 Jahren 0

4 Antworten auf die Frage

1
Wiktor

Ich habe festgestellt, dass Sie diese Adresse nicht einfach in einem Browser öffnen können (zumindest nicht zum ersten Mal). Sie müssen es über das pgAdmin-Taskleistensymbol öffnen -> New pgAdmin4 window....

Wenn es nicht vorhanden ist und Sie überhaupt Probleme mit pgAdmin4 haben, suchen Sie psql.exeim Installationsverzeichnis nach:

C:\Program Files (x86)\pgAdmin 4\v3\runtime

und laufen, psql.exebevor Sie laufen pgAdmin4.exe.

Wenn dies immer noch nicht hilft, versuchen Sie, einen anderen Standardbrowser in Ihrem System festzulegen.

1
Alex Pietruszka

Dieses Problem wurde auf Windows Server 2016 mit pgAdmin4 v3.5 behoben - durch Behebung von "IE Enhanced Security Configuration" auf "OFF" geklappt. Anschließend kann sofort auf die Verwaltungsseiten zugegriffen werden (Hinweis: "Als Administrator ausführen" war nicht erforderlich).

0
Martin

Die UnauthorizedNachricht zeigt eine erfolgreiche HTTP-Verbindung an, wenn sie vom HTTP-Server gelesen wird. Es erscheint, wenn Sie nicht das richtige Berechtigungs-Cookie haben.

Wenn pgAdmin 4 im Desktop-Modus ausgeführt wird, müssen Sie mit der rechten Maustaste auf das Taskleistensymbol klicken und das Fenster Neues pgAdmin 4 auswählen . Stellen Sie sicher, dass Cookies aktiviert sind. Wenn Sie eine Whitelist verwenden, müssen Sie für den verwendeten Port eine Berechtigung festlegen, die sich bei jedem Start von pgAdmin ändert .

Update: pgAdmin 4 3.2 ist freigegeben. Sie können jetzt die URL einschließlich des Schlüssels für die Verwendung eines beliebigen Browsers (Profils) kopieren, der über die erforderlichen Cookie-Berechtigungen verfügt. Sie können auch eine feste Portnummer festlegen, um in Ihrem Standardbrowser (Profil) eine Ausnahmeregel für Cookies zu erstellen.

Leider hat das Aktivieren von Cookies und das Hinzufügen von "http: // 127.0.0.1" zur Liste "Vertrauenswürdige Sites" für mich nicht funktioniert. Jeff G vor 5 Jahren 0
@JeffG Beim Hinzufügen von "http: // 127.0.0.1" wird nur eine Ausnahme für Port 80 (der Standardport für HTTP) erstellt. Sie müssen * New pgAdmin 4 window * auswählen, prüfen, welchen Port tatsächlich verwendet (im privaten / dynamischen Bereich 49152–65535), eine passende Ausnahme erstellen (z. B. für "http: //127.0.0.1: 53529"). Wählen Sie dann erneut * New pgAdmin 4 window * (da hier eine URL geöffnet wird, die versucht, ein Authentifizierungs-Cookie zu setzen, und dann zu einer anderen URL umgeleitet wird, die dies nicht tut, hilft das erneute Laden des letzteren nicht). Wenn Sie pgAdmin das nächste Mal starten, müssen Sie dies wiederholen, da sehr wahrscheinlich ein anderer Port verwendet wird. Martin vor 5 Jahren 0
0
Jan W.

Ich hatte das gleiche Problem und löste es, indem ich einen anderen Browser installierte. In meinem Fall war es "Google Chrome" und wurde als "Standard" festgelegt.

Schritte:

  • stop pgadmin4
  • Google Chrome installieren
  • Setzen Sie Google Chrome auf Standard
  • Starten Sie pgadmin4