GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So richten Sie Ihren eigenen Web-Proxy auf Ubuntu 16.04 VPS ein

Dieses Tutorial zeigt Ihnen, wie Sie Ihren eigenen Web-Proxy unter Ubuntu 16.04 einrichten. Ein Web-Proxy ist eine Website, auf der ein Benutzer eine bestimmte URL eingibt, um die Website zu entsperren. Es gibt eine Vielzahl von Web-Proxy-Skripten, mit denen Sie Ihren eigenen Web-Proxy einrichten können. Glype und PHP-Proxy wird in diesem Tutorial verwendet. Glype ist ein sehr beliebtes Web-Proxy-Skript und PHP-Proxy ist eine gute Alternative. Sie können eine davon auswählen. In meinem Test ist PHP-Proxy schneller und funktioniert besser mit beliebten Websites wie Facebook, Twitter und YouTube, da es aktiv aktualisiert wird. Wir werden sehen, wie man sie mit Apache/Nginx einrichtet und HTTPS mit Let’s Encrypt aktiviert.

Normalerweise verwende ich den Shadowsocks-Proxy und OpenConnect VPN, um die Internetzensur zu umgehen, aber es besteht die Möglichkeit, dass diese beiden Tools in meinem Land blockiert werden. Der Web-Proxy ist eine gute Sicherungsmethode, da er keine Eigenschaften von SOCKS-Proxy und VPN aufweist. In den Augen der Internet-Firewall ist es nur normaler HTTPS-Verkehr. Es gibt Zehntausende von kostenlosen Web-Proxys online. Der Nachteil ist, dass diese öffentlichen Web-Proxys, sobald sie bekannt geworden sind, leicht blockiert werden können. Das Einrichten Ihres eigenen privaten Web-Proxys hat den Vorteil, dass nur Sie von seiner Existenz wissen.

Voraussetzungen

Um diesem Tutorial zu folgen, benötigen Sie:

  • Ein VPS (Virtual Private Server), der frei auf blockierte Websites zugreifen kann (außerhalb Ihres Landes oder Internetfiltersystems) und einen Domainnamen. Für VPS empfehle ich Vultr. Sie bieten einen Hochleistungs-KVM-VPS mit 512 MB Speicher für nur 2,5 $ pro Monat, was perfekt für Ihren privaten Proxy-Server ist.
  • Installieren Sie einen Webserver und PHP

Sie benötigen auch einen Domainnamen, damit Sie HTTPS-Verschlüsselung hinzufügen können, um Ihren Webverkehr zu schützen. Ich empfehle den Kauf von Domain-Namen bei NameCheap, da der Preis niedrig ist und Whois-Datenschutz lebenslang kostenlos ist.

Schritt 1:Webserver und PHP installieren

SSH in Ihr Ubuntu 16.04 VPS. Wenn Sie Nginx als Webserver verwenden möchten, installieren Sie Nginx und PHP7, indem Sie den folgenden Befehl ausführen.

sudo apt install nginx php7.0-fpm php7.0-curl php7.0-mbstring php7.0-xml php7.0-zip

Wenn Sie Apache als Webserver verwenden möchten, führen Sie

aus
sudo apt install apache2 php7.0 libapache2-mod-php7.0 php7.0-curl php7.0-mbstring php7.0-xml php7.0-zip

Schritt 2:Glype oder PHP-Proxy herunterladen

Glype

Laden Sie Glype herunter, indem Sie den folgenden Befehl ausführen.

wget https://www.php-proxy.com/download/glype-1.4.15.zip

Extrahieren Sie es nach /var/www/proxy/ Verzeichnis.

sudo apt install unzip

sudo mkdir -p /var/www/proxy/

sudo unzip glype-1.4.15.zip -d /var/www/proxy/

Setzen Sie www-data (Webserver-Benutzer) als Besitzer.

sudo chown www-data:www-data /var/www/proxy/ -R

PHP-Proxy

Wir können Composer verwenden, um PHP-Proxy herunterzuladen. Installieren Sie Composer aus dem Ubuntu 16.04-Repository.

sudo apt install composer

Laden Sie dann PHP-Proxy nach /var/www/proxy/ herunter Verzeichnis.

sudo mkdir -p /var/www/proxy/

sudo composer create-project athlon1600/php-proxy-app:dev-master /var/www/proxy/

Setzen Sie www-data (Webserver-Benutzer) als Besitzer.

sudo chown www-data:www-data /var/www/proxy/ -R

Schritt 3:Webserver konfigurieren

In diesem Schritt müssen wir einen Nginx-Serverblock oder einen virtuellen Apache-Host für unseren Webproxy erstellen.

Nginx-Serverblock erstellen

Erstellen Sie einen Serverblock unter /etc/nginx/conf.d/ Verzeichnis.

sudo nano /etc/nginx/conf.d/web-proxy.conf

Kopieren Sie die folgenden Zeilen und fügen Sie sie in die Datei ein. Ersetzen Sie proxy.example.com mit Ihrem echten Domainnamen. Vergessen Sie nicht, einen A-Eintrag in Ihrem DNS-Manager einzurichten.

server {
        listen 80;
        server_name proxy.example.com;

        root /var/www/proxy/;
        index index.php;

        location / {
          try_files $uri $uri/ /index.php;
        }

         location ~ \.php$ {
                fastcgi_pass unix:/run/php/php7.0-fpm.sock;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
                include snippets/fastcgi-php.conf;
        }
}

Speichern und schließen Sie die Datei. Testen Sie dann die Nginx-Konfigurationen.

sudo nginx -t

Wenn der Test erfolgreich ist, laden Sie Nginx neu, damit die Änderungen wirksam werden.

sudo systemctl reload nginx

Erstellen Sie einen virtuellen Apache-Host

Erstellen Sie einen virtuellen Apache-Host in /etc/apache2/sites-avaialable/ Verzeichnis.

sudo nano /etc/apache2/sites-available/web-proxy.conf

Kopieren Sie die folgenden Zeilen und fügen Sie sie in die Datei ein. Ersetzen Sie proxy.example.com mit Ihrem echten Domainnamen. Vergessen Sie nicht, einen A-Eintrag in Ihrem DNS-Manager einzurichten.

<VirtualHost *:80>        
        ServerName proxy.example.com

        DocumentRoot /var/www/proxy

        ErrorLog ${APACHE_LOG_DIR}/proxy.error.log
        CustomLog ${APACHE_LOG_DIR}/proxy.access.log combined
</VirtualHost>

Speichern und schließen Sie die Datei. Aktivieren Sie dann diesen virtuellen Host.

sudo a2ensite web-proxy.conf

Laden Sie Apache neu, damit die Änderungen wirksam werden.

sudo systemctl reload apache2

Das Webinterface

Besuchen Sie jetzt proxy.example.com in Ihrem Webbrowser. Wenn Sie Glype verwenden, werden Sie zum Admin-Kontrollfeld (proxy.example.com/admin.php) weitergeleitet ).

Wenn Sie PHP-Proxy verwenden, sehen Sie einen funktionierenden Web-Proxy, der darauf wartet, dass Sie eine URL eingeben.

Lassen Sie uns nun HTTPS mit Let’s Encrypt aktivieren.

Schritt 4:Aktivieren Sie HTTPS mit Let’s Encrypt für Ihren Web-Proxy

Wir können den Let’s Encrypt-Client (certbot) vom offiziellen PPA installieren, indem wir die folgenden Befehle ausführen.

sudo apt install software-properties-common

sudo add-apt-repository ppa:certbot/certbot

sudo apt update

sudo apt install certbot

Nginx Benutzer müssen außerdem das Certbot Nginx-Plugin installieren.

sudo apt install python-certbot-nginx

Aktivieren Sie HTTPS mit dem Nginx-Plugin.

sudo certbot --nginx --agree-tos --redirect --staple-ocsp -d proxy.example.com --email your-email-address

Apache Benutzer müssen das Certbot Apache-Plugin installieren.

sudo apt install python-certbot-apache

Aktivieren Sie HTTPS mit dem Apache-Plugin.

sudo certbot --apache --agree-tos --redirect --staple-ocsp -d proxy.example.com --email your-email-address

Wenn Sie die folgende Fehlermeldung erhalten.

Client with the currently selected authenticator does not support any combination of challenges that will satisfy the CA.

Bitte lesen Sie diesen Beitrag im Let’s Encrypt-Forum, um das Problem zu beheben.

Sobald das Zertifikat erfolgreich installiert wurde, aktualisieren Sie Ihren Proxy in Ihrem Webbrowser, um HTTPS zu verwenden.

(Optional) Setzen Sie Ihren Web-Proxy hinter CDN

Es gibt mindestens drei Möglichkeiten, wie ein Internetzensur eine Website blockieren kann:

  • Blockieren Sie die IP-Adresse der Website.
  • Hijack die DNS-Antwort, um dem Endbenutzer eine falsche IP-Adresse zu geben.
  • Blockieren Sie die TLS-Verbindung, indem Sie sich die Server Name Indication (SNI) ansehen

Wenn Sie befürchten, dass Ihr Web-Proxy von Internet-Zensoren blockiert wird, können Sie Ihren Web-Proxy hinter ein CDN (Content Delivery Network) wie Cloudflare stellen. Auf diese Weise wird Ihre Server-IP-Adresse verborgen, und wenn der Internetzensor beschließt, die IP-Adresse von Cloudflare zu blockieren, entsteht ein Kollateralschaden, da viele andere Websites ebenfalls dieselbe IP-Adresse verwenden. Dies wird den Internetzensur veranlassen, es sich zweimal zu überlegen, bevor er dies tut.

Um DNS-Poison zu verhindern, sollte der Endbenutzer DNS über TLS oder DNS über HTTPS verwenden. Um zu verhindern, dass SNI-Informationen weitergegeben werden, sollte die Website verschlüsseltes SNI verwenden.

Schlussfolgerung

Das ist es! Ich hoffe, dieses Tutorial hat Ihnen geholfen, Ihren eigenen Web-Proxy unter Ubuntu 16.04 zu erstellen. Wenn Sie diesen Beitrag nützlich fanden, abonnieren Sie wie immer unseren kostenlosen Newsletter, um weitere Tipps und Tricks zu erhalten.


Ubuntu
  1. So richten Sie den Squid-Proxyserver unter Ubuntu 18.04 ein und installieren ihn

  2. So überprüfen Sie Ihre Ubuntu-Version

  3. So installieren Sie Redis unter Ubuntu 20.04 / 18.04

  4. So richten Sie Nginx als Reverse Proxy unter Ubuntu 20.04 ein

  5. Ubuntu – Wie stellt man eine statische IP in Ubuntu ein?

So installieren Sie Envoy Proxy unter Ubuntu 20.04

Richten Sie Ihren eigenen WireGuard VPN-Server auf Ubuntu 20.04/18.04 ein

So richten Sie den Shadowsocks-libev-Proxyserver unter Ubuntu ein

So legen Sie eine statische IP unter Ubuntu 20.04 (Desktop) fest

Envoy Proxy auf Ubuntu 20.04 – So installieren Sie es

Wie richte ich ein Pptp-Vpn auf dem eigenen Ubuntu-Server ein?