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

Eine detaillierte Einführung in die Linux-Systemkonfiguration (Dienststeuerung)

Inhaltsverzeichnis Vorwort 1. Systemdienststeueru...

Einigen Eigenschaften in CSS geht ein "*" oder "_" voraus.

Einigen Eigenschaften in CSS geht ein "*&quo...

Implementierung der Formularübermittlung in HTML

Formularübermittlungscode 1. Quellcode-Analyse &l...

mysql teilt eine Datenzeile basierend auf Kommas in mehrere Zeilen auf

Inhaltsverzeichnis Trennwirkung Erläuterung der B...

Eine kurze Diskussion über Lösungen zum Stören von CSS3-Animationen

Warum steckt es fest? Es gibt eine Prämisse, die ...

Anweisungen zur verschachtelten Verwendung von MySQL ifnull

Verschachtelte Verwendung von MySQL ifnull Ich ha...

Warum der CSS-Attributwert clear:right im Detail nicht funktioniert

Die Verwendung der Clear-Eigenschaft zum Löschen v...

Ideen zum Erstellen von Welleneffekten mit CSS

Zuvor habe ich mehrere Möglichkeiten vorgestellt,...

Windows 10 ist zu schwierig zu verwenden. Wie passen Sie Ihr Ubuntu an?

Autor | Herausgeber Awen | Produziert von Tu Min ...