Proxy-Einstellungen in Postman: Schritt für Schritt

Veröffentlicht:

12 Min. Lesezeit

Acar Diveroli
Autor: Acar Diveroli
Ein Fenster mit einer GET-/ip-Anfrage und eingeschaltetem Proxy-Schalter, über einen Knoten mit dem Globus verbunden

Postman öffnen Sie meist, um eine API auszuprobieren, und die Anfrage geht direkt von Ihrem Computer hinaus. In manchen Fällen muss die Anfrage aber von einer anderen IP-Adresse kommen: Die API antwortet auf Anfragen aus einem bestimmten Land anders, das Firmennetz lässt den Weg ins Internet nur über einen Proxy zu, oder Sie testen die IP-Beschränkung einer Integration. Postman bietet dafür zwei Wege: die Proxy-Einstellung des Betriebssystems nutzen oder einen eigenen Proxy nur für Postman festlegen.

In diesem Artikel erklären wir, wo Postman seine Proxy-Einstellungen speichert, wie Sie Schritt für Schritt einen eigenen Proxy einrichten, wie Sie Benutzername und Passwort hinzufügen und wie Sie prüfen, ob der Proxy wirklich arbeitet. Danach behandeln wir die Bypass-Liste, die häufigsten Verbindungsfehler und die Proxy-Nutzung mit Newman auf der Befehlszeile.

Wie nutzt Postman einen Proxy?

Postman sendet die API-Anfragen aus der Desktop-App heraus. Ob diese Anfragen über einen Proxy laufen, bestimmen die Einstellungen im Tab Settings > Proxy. Laut der Proxy-Dokumentation von Postman gibt es zwei Optionen, Anfragen über einen Proxy zu senden:

  • System-Proxy (Use the system proxy): Postman nutzt die Proxy-Einstellung des Betriebssystems und die Umgebungsvariablen HTTP_PROXY, HTTPS_PROXY und NO_PROXY. Praktisch, wenn alle Anwendungen auf dem Computer ohnehin über denselben Proxy laufen.
  • Eigener Proxy (Use custom proxy configuration): Sie legen für Postman unabhängig vom Betriebssystem einen eigenen Proxy fest. Die richtige Wahl, wenn nur API-Tests über den Proxy laufen und Browser sowie andere Anwendungen unberührt bleiben sollen.

Laut Dokumentation nutzt Postman den eigenen Proxy, wenn beide Optionen aktiv sind. Um Verwirrung zu vermeiden, empfehlen wir, die nicht genutzte Option ausgeschaltet zu lassen.

Die Oberfläche von Postman kann sich zwischen Versionen ändern. Menü- und Feldnamen in diesem Artikel folgen der aktuellen Postman-Dokumentation; in einer anderen Version können kleine Abweichungen auftreten.

Wie richten Sie einen eigenen Proxy ein?

  1. Öffnen Sie die Postman-Desktop-App, klicken Sie oben rechts auf das Zahnrad und wählen Sie Settings.
  2. Wechseln Sie im geöffneten Fenster zum Tab Proxy.
  3. Aktivieren Sie im Bereich für das Senden von Anfragen Use custom proxy configuration.
  4. Wählen Sie unter Use proxy for, für welchen Verkehr der Proxy genutzt wird. Fast alle APIs laufen über HTTPS; achten Sie also darauf, dass HTTPS ausgewählt ist. Beide Kästchen anzukreuzen, ist die sicherste Wahl.
  5. Wählen Sie unter Proxy server zuerst das Protokoll. Für Web-APIs reicht meist HTTP. Nutzen Sie einen SOCKS5-Proxy, wählen Sie SOCKS5H, damit die Domain-Auflösung auf dem Proxy erfolgt.
  6. Tragen Sie in derselben Zeile Adresse und Port des Proxy-Servers ein, zum Beispiel pr.proxynet.io und 8000.
  7. Verlangt der Proxy Benutzername und Passwort, folgen Sie den Schritten im nächsten Abschnitt.
  8. Die Einstellungen werden automatisch gespeichert. Schließen Sie das Fenster und senden Sie zum Test eine Anfrage.
FeldBeispielwertBeschreibung
Use custom proxy configurationEinAktiviert den Postman-eigenen Proxy
Use proxy forHTTP und HTTPSWelche Anfragen über den Proxy laufen
Proxy server: ProtokollHTTP oder SOCKS5HHTTP für Web-APIs, SOCKS5H für SOCKS mit Remote-DNS
Proxy server: Hostpr.proxynet.ioDie Proxy-Adresse aus Ihrem Panel
Proxy server: Port8000Der Port für das gewählte Protokoll
Proxy authEin / ausEin, wenn Benutzername und Passwort nötig sind
Username / PasswordZugangsdaten aus dem PanelLeer bei IP-Whitelist
Proxy bypasslocalhost,127.0.0.1Adressen, die nicht über den Proxy laufen sollen

Die Postman-Dokumentation weist darauf hin, dass über einen SOCKS-Proxy nur HTTP- und HTTPS-Anfragen gesendet werden können. Für andere Anfragetypen wie WebSocket oder gRPC müssen Sie das Proxy-Verhalten separat testen.

Wie fügen Sie eine Authentifizierung hinzu?

Mit einem Proxy verbinden Sie sich auf zwei Arten: mit Benutzername und Passwort oder indem Sie die IP-Adresse Ihres Computers im Panel auf eine Freigabeliste setzen. Beide Methoden und ihre Sicherheit vergleichen wir in Proxy-Authentifizierung: User:Pass oder IP-Whitelist.

Mit Benutzername und Passwort:

  1. Aktivieren Sie im Proxy-Tab Proxy auth.
  2. Tragen Sie in die Felder Username und Password die Zugangsdaten aus Ihrem Panel ein.
  3. Geben Sie das Passwort in diese Felder unverändert, ohne Kodierung ein. Kodierungen wie %40, die für Passwörter in einer Adresse nötig sind, brauchen Sie hier nicht; Postman übernimmt die Zugangsdaten aus getrennten Feldern und baut den Header Proxy-Authorization selbst.

Mit IP-Whitelist:

  1. Ermitteln Sie bei ausgeschaltetem Proxy die öffentliche IP-Adresse Ihres Computers. Eine GET-Anfrage an https://api.ipify.org in Postman genügt.
  2. Tragen Sie diese Adresse in Ihrem Kundenpanel in die Liste erlaubter IPs ein.
  3. Lassen Sie Proxy auth in Postman ausgeschaltet.

Ändert sich die IP-Adresse Ihres Privatanschlusses, funktioniert die Whitelist nach einer Weile nicht mehr; der Umstieg auf Benutzername und Passwort ist dann weniger Aufwand.

Wie prüfen Sie, ob der Proxy funktioniert?

Senden Sie nach dem Speichern der Einstellungen eine Anfrage an eine Adresse, die Ihre IP-Adresse zurückgibt, um zu sehen, ob die Anfrage wirklich über den Proxy läuft.

  1. Öffnen Sie einen neuen Anfrage-Tab und lassen Sie die Methode auf GET.
  2. Geben Sie https://httpbin.org/ip in die Adressleiste ein und klicken Sie auf Send.
  3. Sehen Sie sich den Wert origin im Antworttext an.
json
{
  "origin": "203.0.113.25"
}

Das sollte die Ausgangs-IP-Adresse des Proxys sein. Sehen Sie Ihre eigene IP-Adresse, läuft die Anfrage nicht über den Proxy; prüfen Sie, ob der Schalter für den eigenen Proxy aktiv und HTTPS unter Use proxy for ausgewählt ist.

Die Details einer Anfrage sehen Sie in der Postman Console (Schaltfläche Console in der unteren Leiste). Die Konsole zeigt gesendete Header, Antwortzeit und den vollständigen Text eines Verbindungsfehlers. Beim Debuggen ist sie die erste Anlaufstelle.

Dieselbe Prüfung können Sie auf der Befehlszeile durchführen. Funktioniert eine Anfrage in Postman nicht, zeigt ein Test desselben Proxys mit cURL schnell, ob das Problem in den Postman-Einstellungen oder beim Proxy liegt:

bash
curl -x "http://user:pass@pr.proxynet.io:8000" https://httpbin.org/ip

Funktioniert cURL und Postman nicht, liegt das Problem in den Postman-Einstellungen. Scheitert auch cURL, prüfen Sie die Proxy-Zugangsdaten oder Ihr Netz. Die Proxy-Optionen von cURL beschreibt Proxy mit cURL verwenden.

Wofür ist die Bypass-Liste da?

Das Feld Proxy bypass nimmt eine kommagetrennte Liste von Adressen auf, die nicht über den Proxy laufen sollen. Am häufigsten brauchen Sie es in diesen Situationen:

  • Lokaler Entwicklungsserver. Testen Sie Ihre API auf localhost:3000, ergibt es keinen Sinn, die Anfrage an den Proxy zu schicken; der Proxy erreicht eine Adresse in Ihrem lokalen Netz ohnehin nicht.
  • Interne Dienste. Interne Dienste im Block 10.0.0.0 oder mit .local-Namen.
  • Authentifizierungsserver. Wenn der Dienst, von dem Sie ein Token beziehen, keine IP-Beschränkung hat und nur die eigentliche API-Anfrage über den Proxy laufen muss.

Beispielwert:

text
localhost,127.0.0.1,*.company.local,10.0.0.5

Lokale Adressen, die Sie nicht in die Bypass-Liste aufnehmen, laufen bei aktivem Proxy in ein Timeout oder enden in einer vom Proxy zurückgegebenen Fehlerseite.

Standortabhängige API-Antworten testen

Einer der häufigsten Gründe für einen Proxy in Postman ist zu sehen, wie eine API auf Anfragen aus verschiedenen Ländern antwortet. Ein Preisdienst kann die Währung ändern, eine Inhalts-API Sprache und Katalog, ein Zahlungsdienst die unterstützten Zahlungsarten, abhängig vom Herkunftsland der Anfrage.

Ein bewährter Ablauf für solche Tests:

  1. Legen Sie für jedes Land eigene Proxy-Daten bereit.
  2. Erstellen Sie in Postman für jedes Land ein Environment und speichern Sie erwartete Werte wie Währung und Sprache als Variablen.
  3. Stellen Sie den Proxy auf den Ausgangspunkt des zu testenden Landes um.
  4. Schreiben Sie im Tab Tests der Anfrage eine Prüfung, die den erwarteten Wert vergleicht.
javascript
pm.test("Währung passt zum Land", () => {
  const body = pm.response.json();
  pm.expect(body.currency).to.eql(pm.environment.get("expectedCurrency"));
});

Die Proxy-Einstellung von Postman gilt für die gesamte App, nicht pro Environment. Beim Wechsel des Landes müssen Sie auch die Proxy-Adresse im Settings-Bildschirm ändern. Testen Sie regelmäßig viele Länder, ist die Automatisierung mit Newman wie unten gezeigt praktischer. Den Aufbau von Lokalisierungstests beschreibt unsere Seite zur Lokalisierung, allgemeine Szenarien für Anwendungstests unsere Seite zu App-Tests.

Braucht jeder Test eine andere Ausgangs-IP, eignet sich ein Rotierender Proxy, der ohne Adresswechsel bei jeder Verbindung eine neue IP liefert. Muss die IP während des Tests gleich bleiben, wählen Sie eine feste Adresse.

Häufige Fehler und Lösungen

Fehler oder SymptomWahrscheinliche UrsacheLösung
407 Proxy Authentication RequiredBenutzername oder Passwort falsch, IP nicht auf der WhitelistProxy-auth-Zugangsdaten neu eingeben; IP auf der Whitelist prüfen
tunneling socket could not be establishedDer Proxy hat den Tunnelaufbau abgelehnt; meist eine 407 oder ein falscher PortWert statusCode in der Konsole prüfen; Port und Protokoll prüfen
ECONNREFUSEDAdresse oder Port falsch, der Proxy lauscht nicht auf diesem PortServername und Port mit dem Panel vergleichen
ETIMEDOUT oder lange WartezeitenEine Firewall in Ihrem Netz blockiert den Proxy-PortDieselbe Verbindung mit cURL testen; mit dem Netzwerkadministrator sprechen
unable to get local issuer certificateEin Unternehmens-Proxy führt TLS-Inspektion durchCA-Zertifikat des Unternehmens unter Settings > Certificates hinzufügen
Die zurückgegebene IP ist Ihre eigeneEigener Proxy aus oder nicht für HTTPS aktivSchalter und Auswahl unter Use proxy for prüfen
localhost-Anfragen laufen in ein TimeoutLokale Adressen werden an den Proxy gesendetlocalhost,127.0.0.1 in die Bypass-Liste aufnehmen

Ein Hinweis zur SSL-Prüfung. Online wird oft empfohlen, SSL certificate verification im Settings-Bildschirm abzuschalten. Ein normaler Forward-Proxy transportiert HTTPS-Verkehr durch einen CONNECT-Tunnel und berührt keine Zertifikate; mit einem Standard-Proxy sollten Sie also keine Zertifikatsfehler erhalten. Treten sie auf, entschlüsselt ein System dazwischen den Verkehr. Das Zertifikat dieses Systems hinzuzufügen, statt die Prüfung abzuschalten, verhindert, dass Sie ein echtes Sicherheitsproblem übersehen.

Die allgemeine Bedeutung von HTTP-Statuscodes und die Wiederholungslogik erklären wir in HTTP-Statuscodes beim Web Scraping.

Proxy auf der Befehlszeile mit Newman

Newman, mit dem Postman-Collections in CI-Pipelines oder geplanten Aufgaben laufen, liest die Proxy-Einstellungen der Desktop-App nicht. Die README von Newman nennt für Proxys die Standard-Umgebungsvariablen HTTP_PROXY, HTTPS_PROXY und NO_PROXY.

Unter Linux und macOS:

bash
export HTTPS_PROXY="http://user:pass@pr.proxynet.io:8000"
export HTTP_PROXY="$HTTPS_PROXY"
export NO_PROXY="localhost,127.0.0.1"

newman run collection.json -e environment-de.json

In der Windows PowerShell:

powershell
$env:HTTPS_PROXY = "http://user:pass@pr.proxynet.io:8000"
$env:HTTP_PROXY = $env:HTTPS_PROXY
$env:NO_PROXY = "localhost,127.0.0.1"

newman run collection.json -e environment-de.json

Da die Adresse in der Umgebungsvariablen eine URL ist, müssen Zeichen wie @, : oder / im Passwort kodiert werden: @ wird als %40 geschrieben.

Ein Skript, das verschiedene Länder nacheinander testet, kann dieselbe Collection laufen lassen und dabei jedes Mal die Umgebungsvariable und die Postman-Environment-Datei wechseln:

bash
#!/usr/bin/env bash
set -euo pipefail

for country in de fr tr; do
  export HTTPS_PROXY="http://user-${country}:pass@pr.proxynet.io:8000"
  newman run collection.json -e "environment-${country}.json" --reporters cli,junit \
    --reporter-junit-export "result-${country}.xml"
done

Das Format user-${country} ist nur ein Beispiel; ob das Land über den Benutzernamen, einen anderen Port oder das Panel gewählt wird, hängt vom Anbieter ab. Das richtige Format finden Sie in Ihrem Kundenpanel. Nutzen Sie das neuere Befehlszeilen-Tool Postman CLI, prüfen Sie die Proxy-Einstellungen in dessen eigener Dokumentation.

Anwendungsfälle

  • Ein Team, das standortabhängiges API-Verhalten testet: führt dieselbe Collection mit Ausgangspunkten in verschiedenen Ländern aus. Für Web-APIs genügt ein HTTPS-Proxy.
  • Ein Entwickler, der eine IP-beschränkte Integration prüft: Erlaubt die Gegenseite nur Anfragen von einer bestimmten festen IP, leitet er Postman über einen Proxy mit dieser IP und testet die Integration vor dem Livegang.
  • Ein Nutzer im Firmennetz: Erlaubt das Unternehmen den Internetzugang nur über einen Proxy, reicht die System-Proxy-Option; bei TLS-Inspektion wird das Firmenzertifikat hinzugefügt.
  • Ein QA-Team, das Rate-Limits untersucht: prüft, wie eine API auf aufeinanderfolgende Anfragen von derselben IP antwortet und ob sie den Header Retry-After korrekt zurückgibt.

Entscheidungshilfe

Ihre SituationEmpfehlung
Der gesamte Computer läuft bereits über einen ProxyUse the system proxy
Nur Postman-Anfragen sollen über den Proxy laufenUse custom proxy configuration
Sie testen Web-APIsHTTP-Protokoll
Sie nutzen einen SOCKS5-ProxySOCKS5H (Remote-DNS)
Privatanschluss mit dynamischer IPBenutzername und Passwort mit Proxy auth
Auch ein lokaler Server wird getestetlocalhost,127.0.0.1 in der Bypass-Liste
Collections in einer CI-Pipeline ausführenNewman + Umgebungsvariable HTTPS_PROXY
Sie erhalten ZertifikatsfehlerCA-Zertifikat hinzufügen statt Prüfung abschalten

Häufig gestellte Fragen

Hat die Postman-Web-App Proxy-Einstellungen?

Laut Postman-Dokumentation lässt sich in der Web-App der eigene Standard-Proxy von Postman nicht konfigurieren; zum Senden von Anfragen werden die Optionen System-Proxy oder eigener Proxy genutzt. Die Desktop-App ist praktischer, um alle Einstellungen auf einem Bildschirm zu sehen und zu steuern.

Lässt sich ein Proxy nur für eine Collection festlegen?

In der Desktop-App gilt die Proxy-Einstellung für die gesamte App, nicht pro Collection oder Environment. Brauchen verschiedene Collections verschiedene Proxys, ist es am saubersten, Newman bei jedem Lauf eine andere Umgebungsvariable zu geben.

Beeinträchtigt ein aktiver Proxy die Synchronisierung von Postman?

Postman hält die Einstellungen für seinen eigenen Verkehr, der mit Ihrem Konto synchronisiert, und für die von Ihnen gesendeten API-Anfragen getrennt. Die in diesem Artikel beschriebene Einstellung betrifft die Anfragen, die Sie senden.

Mein Passwort enthält Sonderzeichen. Soll ich es in die Adresse schreiben?

Geben Sie das Passwort in der Postman-Desktop-App unkodiert in das Feld Password ein. In Newman steht das Passwort in der URL der Umgebungsvariablen, daher müssen @, : und / kodiert werden.

Warum sind meine Anfragen mit Proxy langsamer?

Jede Anfrage hat eine zusätzliche Station, und der Unterschied wird spürbar, wenn der Ausgangspunkt des Proxys weit von der getesteten API entfernt ist. Die Antwortzeitanzeige von Postman und die Konsole zeigen, ob die Zeit beim Verbindungsaufbau oder bei der Serverantwort vergeht.

Sollte ich SOCKS5 oder HTTP wählen?

Senden Sie aus Postman nur HTTP- und HTTPS-API-Anfragen, reicht ein HTTP-Proxy und verursacht die wenigsten Probleme. Haben Sie nur einen SOCKS5-Proxy, nutzen Sie die Option SOCKS5H. Den Unterschied zwischen beiden Protokollen erklären wir in SOCKS- und HTTP-Proxy im Vergleich.

Fazit

In Postman legen Sie einen Proxy im Tab Settings > Proxy fest, entweder über die Einstellung des Betriebssystems oder mit einer Postman-eigenen Konfiguration. Für einen eigenen Proxy geben Sie Server, Port und Protokoll ein; ist eine Authentifizierung nötig, tragen Sie das Passwort unkodiert in das eigene Feld ein. Prüfen Sie den Aufbau mit einer Anfrage an https://httpbin.org/ip, nehmen Sie lokale Adressen in die Bypass-Liste auf und nutzen Sie in CI-Pipelines die Umgebungsvariable HTTPS_PROXY für Newman. Wie Proxys grundsätzlich funktionieren, erklärt Was ist ein Proxy-Server und wie funktioniert er?; Tarife für Ihre API-Tests finden Sie in unseren Proxy-Diensten.

ChatGPT fragenClaude fragen