So verwenden Sie den Nginx-Proxy zum Surfen im Internet

So verwenden Sie den Nginx-Proxy zum Surfen im Internet

Normalerweise verwende ich nginx als Reverse-Proxy für Tomcat und andere Anwendungen. Tatsächlich unterstützt nginx auch Forward-Proxy

Beim sogenannten Forward-Proxy greifen Intranet-Benutzer über das Gateway auf externe Ressourcen zu. Das heißt, wenn der Computer im Internet surft, ist der Browser so eingestellt, dass er über die HTTP-Proxy-Adresse auf das Internet zugreift.

Bei einem Reverseproxy greifen externe Benutzer über ein Gateway auf Intranetressourcen zu. Einfach ausgedrückt: Ihre Website läuft auf Port 8080 des Intranets und andere können über Port 80 darauf zugreifen.

HTTP-Proxy-Konfiguration

# Proxy-Internet-Zugangsserver weiterleiten {
  hören Sie 38080;

  # Lösen Sie den Domänennamen-Resolver 8.8.8.8 auf;

  Standort / {
    Proxy-Passwort $scheme://$http_host$Anforderungs-URI;
  }
}

Konfigurieren Sie die Proxy-IP und den Port im Browser und besuchen Sie dann http://www.ip138.com. Sie werden feststellen, dass sich die IP geändert hat, was darauf hinweist, dass der Proxy wirksam geworden ist.

Die https-Website kann jedoch nicht geöffnet werden. Dies liegt daran, dass das native nginx nur HTTP-Forward-Proxy unterstützt. Um HTTPS-Forward-Proxy für nginx zu unterstützen, können Sie den Patch ngx_http_proxy_connect_module + SSL-Modulunterstützung installieren.

https-Proxy-Modul hinzufügen

Sie müssen nginx hier neu kompilieren. Sie müssen die aktuelle nginx-Version und die Kompilierungsoptionen überprüfen und dann auf die offizielle Website gehen, um dieselbe Version des nginx-Quellcodes zur Neukompilierung herunterzuladen.

/usr/local/nginx/sbin/nginx -V
wget http://nginx.org/download/nginx-1.15.12.tar.gz
tar -zxvf nginx-1.15.12.tar.gz

Modul ngx_http_proxy_connect_module herunterladen

Git-Klon https://github.com/chobits/ngx_http_proxy_connect_module

Wenden Sie den Patch an und ändern Sie den Nginx-Quellcode. Dieser Schritt ist sehr wichtig, da das nachfolgende Make sonst nicht erfolgreich ist.

patch -d /root/nginx-1.15.12/ -p 1 < /root/ngx_http_proxy_connect_module/patch/proxy_connect_rewrite

Fügen Sie Module nach der ursprünglichen Konfiguration hinzu und achten Sie darauf, sie nicht nach make zu installieren

cd /root/nginx-1.15.12/
./Konfigurieren --mit-http_stub_status_module --mit-http_ssl_module --mit-file-aio --mit-http_realip_module --add-module=/root/ngx_http_proxy_connect_module/
machen
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
cp /root/nginx-1.15.12/objs/nginx /usr/local/nginx/sbin/

Ändern Sie die Konfigurationsdatei wie folgt und starten Sie den Dienst

# Proxy-Internet-Zugangsserver weiterleiten {
  hören Sie 38080;

  # Lösen Sie den Domänennamen-Resolver 8.8.8.8 auf;

  # ngx_http_proxy_connect_module
  Proxy_Verbindung;
  Proxy_Verbindung zulassen 443 563;
  Proxy_Connect_Verbindungs-Timeout 10 s;
  Proxy_Connect_Read_Timeout 10 s;
  Proxy_Connect_Sende-Timeout 10 s;

  Standort / {
    Proxy-Passwort $scheme://$http_host$Anforderungs-URI;
  }
}

Zusammenfassen

Der Proxy scheint nicht sehr stabil zu sein und kann manchmal nicht geöffnet werden, insbesondere https-Websites. Tun Sie dies nicht, wenn Sie ausländische Websites besuchen. Dies dient nur dazu, sich mit der Forward-Proxy-Funktion von nginx vertraut zu machen.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • So verwenden Sie Umgebungsvariablen in der Nginx-Konfigurationsdatei
  • So implementieren Sie eine verteilte Strombegrenzung mit Nginx
  • So stellen Sie statische Seiten mit Nginx bereit
  • Detaillierte Erklärung zum Erstellen eines CDN-Servers mit Nginx (Bild und Text)
  • Details zur Verwendung des Nginx-Arbeitsmodus und der Proxy-Konfiguration

<<:  So verwenden und begrenzen Sie Requisiten in React

>>:  Lernen Sie die MySQL-Zeichensatzeinstellungen in 5 Minuten kennen

Artikel empfehlen

Ungültige Lösung beim Definieren mehrerer Klassenattribute in HTML

Beim Schreiben von HTML definieren wir häufig mehr...

MySQL-Tutorial: Ausführliche Erklärung zum Unterabfragebeispiel

Inhaltsverzeichnis 1. Was ist eine Unterabfrage? ...

So installieren Sie Grafana und fügen Influxdb-Überwachung unter Linux hinzu

Installieren Sie Grafana. Die offizielle Website ...

Klassifizierung der Farbeigenschaften von Webseiten

Klassifizierung der Farbeigenschaften Jede Farbe ...

jQuery implementiert den Fall der Schriftgrößenanpassung

In diesem Artikel wird der spezifische Code von j...

Vue3 kapselt seine eigene Paging-Komponente

In diesem Artikelbeispiel wird der spezifische Co...

Universelle Lösung für den Fehler beim Starten von MySQL unter Windows

MySQL-Startfehler Vor der Installation von MySQL ...

Detaillierte Analyse von Javascript-Datenproxys und Ereignissen

Inhaltsverzeichnis Datenbroker und Events Überprü...

So verwalten Sie zwischengespeicherte Seiten in Vue

Inhaltsverzeichnis Problem 1: Zerstörung 1. Wie m...

Grundlegende Verwendung von Unterabfragen in MySQL

Inhaltsverzeichnis 1. Unterabfragedefinition 2. U...

MySQL-Datenbank implementiert OLTP-Benchmark-Test basierend auf Sysbench

Sysbench ist ein hervorragendes Benchmark-Tool, d...