GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nastavit svůj vlastní webový proxy na Ubuntu 16.04 VPS

Tento tutoriál vám ukáže, jak nastavit svůj vlastní webový proxy na Ubuntu 16.04. Web proxy je webová stránka, kde uživatel zadá konkrétní URL pro odblokování webové stránky. Existuje velké množství skriptů webového proxy, které lze použít k nastavení vlastního webového proxy. Glype a PHP-Proxy budou použity v tomto tutoriálu. Glype je velmi oblíbený webový proxy skript a PHP-Proxy je dobrou alternativou. Můžete si vybrat jednu z nich. V mém testu je PHP-Proxy rychlejší a funguje lépe s oblíbenými weby jako Facebook, Twitter a YouTube, protože se aktivně aktualizuje. Uvidíme, jak je nastavit pomocí Apache/Nginx a povolit HTTPS pomocí Let’s Encrypt.

Normálně používám proxy Shadowsocks a OpenConnect VPN, abych obešel internetovou cenzuru, ale existuje možnost, že by tyto dva nástroje byly v mé zemi zablokovány. Web proxy je dobrá metoda zálohování, protože nemá žádné vlastnosti SOCKS proxy a VPN. V očích internetového firewallu je to jen normální HTTPS provoz. Na internetu jsou desítky tisíc bezplatných webových proxy. Nevýhodou je, že jakmile se tyto veřejné webové proxy stanou známými, lze je snadno zablokovat. Nastavení vlastního privátního webového proxy má tu výhodu, že jeho existenci znáte pouze vy.

Předpoklady

Abyste mohli postupovat podle tohoto návodu, budete potřebovat:

  • VPS (Virtual Private Server), který může volně přistupovat k blokovaným webovým stránkám (mimo vaši zemi nebo systém filtrování internetu) a název domény. Pro VPS doporučuji Vultr. Nabízejí 512M paměti vysoce výkonné KVM VPS za pouhých 2,5 $ měsíčně, což je ideální pro váš soukromý proxy server.
  • Nainstalujte webový server a PHP

Potřebujete také název domény, takže budete moci přidat šifrování HTTPS pro ochranu vašeho webového provozu. Doporučuji nákup doménových jmen od NameCheap, protože cena je nízká a poskytují ochranu soukromí whois doživotně zdarma.

Krok 1:Instalace webového serveru a PHP

SSH do vašeho Ubuntu 16.04 VPS. Pokud chcete používat Nginx jako webový server, nainstalujte Nginx a PHP7 provedením následujícího příkazu.

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

Pokud chcete používat Apache jako webový server, spusťte

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

Krok 2:Stáhněte si Glype nebo PHP-Proxy

Glype

Stáhněte si Glype spuštěním následujícího příkazu.

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

Rozbalte jej do /var/www/proxy/ adresář.

sudo apt install unzipsudo mkdir -p /var/www/proxy/sudo unzip glype-1.4.15.zip -d /var/www/proxy/

Nastavte www-data (uživatel webového serveru) jako vlastník.

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

PHP-Proxy

Ke stažení PHP-Proxy můžeme použít Composer. Nainstalujte Composer z úložiště Ubuntu 16.04.

skladatel instalace sudo apt

Poté si stáhněte PHP-Proxy do /var/www/proxy/ adresář.

sudo mkdir -p /var/www/proxy/sudo skladatel create-project athlon1600/php-proxy-app:dev-master /var/www/proxy/

Nastavte www-data (uživatel webového serveru) jako vlastník.

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

Krok 3:Konfigurace webového serveru

V tomto kroku potřebujeme vytvořit blok serveru Nginx nebo virtuálního hostitele Apache pro náš web proxy.

Vytvořit blok serveru Nginx

Vytvořte blok serveru pod /etc/nginx/conf.d/ adresář.

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

Zkopírujte a vložte následující řádky do souboru. Nahraďte proxy.example.com s vaším skutečným názvem domény. Nezapomeňte si ve správci DNS nastavit záznam A.

server { poslouchat 80; název_serveru proxy.example.com; root /var/www/proxy/; index index.php; umístění / { try_files $uri $uri/ /index.php; } umístění ~ \.php$ { fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; zahrnout fastcgi_params; include snippets/fastcgi-php.conf; }}

Uložte a zavřete soubor. Poté otestujte konfigurace Nginx.

sudo nginx -t

Pokud je test úspěšný, znovu načtěte Nginx, aby se změny projevily.

sudo systemctl reload nginx

Vytvoření virtuálního hostitele Apache

Vytvořte virtuální hostitele Apache v /etc/apache2/sites-avaialable/ adresář.

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

Zkopírujte a vložte následující řádky do souboru. Nahraďte proxy.example.com s vaším skutečným názvem domény. Nezapomeňte si ve správci DNS nastavit záznam A.

 ServerName proxy.example.com DocumentRoot /var/www/proxy ErrorLog ${APACHE_LOG_DIR}/proxy.error.log CustomLog ${APACHE_LOG_DIR}/proxy.access.log kombinovaný 

Uložte a zavřete soubor. Poté povolte tohoto virtuálního hostitele.

sudo a2ensite web-proxy.conf

Znovu načtěte Apache, aby se změny projevily.

sudo systemctl reload apache2

Webové rozhraní

Nyní navštivte proxy.example.com ve vašem webovém prohlížeči. Pokud používáte Glype, budete přesměrováni na ovládací panel správce (proxy.example.com/admin.php ).

Pokud používáte PHP-Proxy, můžete vidět fungující web proxy, který čeká na zadání adresy URL.

Nyní povolme HTTPS pomocí Let's Encrypt.

Krok 4:Povolte HTTPS pomocí Let's Encrypt for Your Web Proxy

Klienta Let’s Encrypt (certbot) můžeme nainstalovat z oficiálního PPA provedením následujících příkazů.

sudo apt install software-properties-commonsudo add-apt-repository ppa:certbot/certbotsudo apt updatesudo apt install certbot

Nginx uživatelé si také musí nainstalovat plugin Certbot Nginx.

sudo apt install python-certbot-nginx

Povolte HTTPS pomocí pluginu Nginx.

sudo certbot --nginx --agree-tos --redirect --staple-ocsp -d proxy.example.com --e-mail na vaši-e-mailovou-adresu

Apache uživatelé si musí nainstalovat plugin Certbot Apache.

sudo apt install python-certbot-apache

Povolte HTTPS pomocí pluginu Apache.

sudo certbot --apache --agree-tos --redirect --staple-ocsp -d proxy.example.com --email na vaši-e-mailovou-adresu

Pokud se zobrazí následující chybová zpráva.

Klient s aktuálně vybraným autentizátorem nepodporuje žádnou kombinaci výzev, které uspokojí CA.

Chcete-li to opravit, podívejte se na tento příspěvek na fóru Let’s Encrypt.

Jakmile je certifikát úspěšně nainstalován, obnovte proxy ve svém webovém prohlížeči, abyste mohli používat HTTPS.

(Volitelné) Umístění vašeho webového proxy za CDN

Internetový cenzor může zablokovat web nejméně třemi způsoby:

  • Blokovat IP adresu webových stránek.
  • Ukrást odpověď DNS a poskytnout koncovému uživateli špatnou IP adresu.
  • Zablokujte připojení TLS zobrazením indikace názvu serveru (SNI)

Pokud se obáváte, že váš webový proxy bude blokován internetovými cenzory, můžete svůj webový proxy umístit za síť CDN (Content Delivery Network), jako je Cloudflare. Tímto způsobem je IP adresa vašeho serveru skryta a pokud se internetový cenzor rozhodne zablokovat IP adresu Cloudflare, dojde k vedlejším škodám, protože existuje mnoho dalších webových stránek, které také používají stejnou IP adresu. Internetový cenzor si to dvakrát rozmyslí, než to udělá.

Aby se zabránilo otravě DNS, měl by koncový uživatel používat DNS přes TLS nebo DNS přes HTTPS. Aby se zabránilo úniku informací o SNI, měla by webová stránka používat šifrované SNI.

Závěr

A je to! Doufám, že vám tento návod pomohl vytvořit si vlastní webový proxy na Ubuntu 16.04. Jako vždy, pokud pro vás byl tento příspěvek užitečný, přihlaste se k odběru našeho bezplatného zpravodaje a získejte další tipy a triky.


Ubuntu
  1. Jak nastavit a nainstalovat Squid Proxy Server na Ubuntu 18.04

  2. Jak nastavit Nginx jako reverzní proxy na Ubuntu 20.04

  3. Ubuntu – Jak nastavit statickou IP v Ubuntu?

  1. Jak zkontrolovat verzi Ubuntu

  2. Jak nainstalovat Redis na Ubuntu 20.04 / 18.04

  3. Jak nastavit server OpenVPN na Ubuntu 18.04

  1. Jak nastavit DNS Nameservery na Ubuntu 18.04

  2. Jak nastavit WireGuard VPN na Ubuntu 18.04

  3. Jak nastavit WireGuard VPN na Ubuntu 20.04