GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come configurare il tuo proxy Web su Ubuntu 16.04 VPS

Questo tutorial ti mostra come configurare il tuo proxy web su Ubuntu 16.04. Un proxy Web è un sito Web in cui un utente immette un URL specifico per sbloccare il sito Web. Esistono numerosi script proxy Web che possono essere utilizzati per configurare il proprio proxy Web. Glipe e Proxy PHP sarà utilizzato in questo tutorial. Glipe è uno script proxy Web molto popolare e PHP-Proxy è una buona alternativa. Puoi sceglierne uno. Nel mio test, PHP-Proxy è più veloce e funziona meglio con siti Web popolari come Facebook, Twitter e YouTube, perché viene aggiornato attivamente. Vedremo come configurarli con Apache/Nginx e abilitare HTTPS con Let's Encrypt.

Normalmente utilizzo il proxy Shadowsocks e OpenConnect VPN per aggirare la censura di Internet, ma è possibile che questi due strumenti vengano bloccati nel mio paese. Il proxy Web è un buon metodo di backup in quanto non ha alcuna caratteristica del proxy SOCKS e della VPN. Agli occhi del firewall Internet, è solo un normale traffico HTTPS. Ci sono decine di migliaia di proxy web gratuiti online. Lo svantaggio è che una volta che questi proxy web pubblici diventano noti, possono essere facilmente bloccati. Configurare il tuo proxy web privato ha il vantaggio che solo tu ne sai l'esistenza.

Prerequisiti

Per seguire questo tutorial, avrai bisogno di:

  • Un VPS (Virtual Private Server) che può accedere liberamente ai siti Web bloccati (al di fuori del tuo paese o sistema di filtraggio Internet) e un nome di dominio. Per VPS, consiglio Vultr. Offrono 512 M di memoria VPS KVM ad alte prestazioni per soli $ 2,5 al mese, perfetto per il tuo server proxy privato.
  • Installa un server web e PHP

Hai anche bisogno di un nome di dominio, quindi potrai aggiungere la crittografia HTTPS per proteggere il tuo traffico web. Consiglio di acquistare i nomi di dominio da NameCheap perché il prezzo è basso e offrono protezione della privacy a Whois gratuita per tutta la vita.

Fase 1:installa Web Server e PHP

SSH nel tuo VPS Ubuntu 16.04. Se ti piace usare Nginx come server web, installa Nginx e PHP7 eseguendo il comando seguente.

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

Se ti piace usare Apache come server web, esegui

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

Fase 2:scarica Glype o PHP-Proxy

Glype

Scarica Glype eseguendo il comando seguente.

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

Estrailo in /var/www/proxy/ directory.

sudo apt install unzip

sudo mkdir -p /var/www/proxy/

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

Imposta www-data (utente del server web) in qualità di proprietario.

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

Proxy PHP

Possiamo usare Composer per scaricare PHP-Proxy. Installa Composer dal repository Ubuntu 16.04.

sudo apt install composer

Quindi scarica PHP-Proxy su /var/www/proxy/ directory.

sudo mkdir -p /var/www/proxy/

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

Imposta www-data (utente del server web) in qualità di proprietario.

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

Fase 3:Configura il server Web

In questo passaggio, dobbiamo creare un blocco server Nginx o un host virtuale Apache per il nostro proxy web.

Crea blocco server Nginx

Crea un blocco server in /etc/nginx/conf.d/ directory.

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

Copia e incolla le seguenti righe nel file. Sostituisci proxy.example.com con il tuo vero nome di dominio. Non dimenticare di impostare un record nel tuo gestore DNS.

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;
        }
}

Salva e chiudi il file. Quindi testa le configurazioni di Nginx.

sudo nginx -t

Se il test ha esito positivo, ricarica Nginx per rendere effettive le modifiche.

sudo systemctl reload nginx

Crea host virtuale Apache

Crea un host virtuale Apache in /etc/apache2/sites-avaialable/ directory.

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

Copia e incolla le seguenti righe nel file. Sostituisci proxy.example.com con il tuo vero nome di dominio. Non dimenticare di impostare un record nel tuo gestore DNS.

<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>

Salva e chiudi il file. Quindi abilita questo host virtuale.

sudo a2ensite web-proxy.conf

Ricarica Apache per rendere effettive le modifiche.

sudo systemctl reload apache2

L'interfaccia web

Ora visita proxy.example.com nel tuo browser web. Se utilizzi Glype, verrai reindirizzato al pannello di controllo dell'amministratore (proxy.example.com/admin.php ).

Se utilizzi PHP-Proxy, puoi vedere un proxy web funzionante in attesa che tu inserisca un URL.

Ora abilitiamo HTTPS con Let's Encrypt.

Fase 4:abilita HTTPS con Let's Encrypt per il tuo proxy web

Possiamo installare il client Let's Encrypt (certbot) dal PPA ufficiale eseguendo i seguenti comandi.

sudo apt install software-properties-common

sudo add-apt-repository ppa:certbot/certbot

sudo apt update

sudo apt install certbot

Nginx gli utenti devono anche installare il plug-in Certbot Nginx.

sudo apt install python-certbot-nginx

Abilita HTTPS con il plug-in Nginx.

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

Apache gli utenti devono installare il plug-in Certbot Apache.

sudo apt install python-certbot-apache

Abilita HTTPS con il plugin Apache.

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

Se viene visualizzato il seguente messaggio di errore.

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

Dai un'occhiata a questo post sul forum Let's Encrypt per risolverlo.

Una volta che il certificato è stato installato correttamente, aggiorna il tuo proxy nel tuo browser web per usare HTTPS.

(Facoltativo) Mettere il tuo proxy web dietro la CDN

Esistono almeno tre modi in cui un censore di Internet può bloccare un sito Web:

  • Blocca l'indirizzo IP del sito web.
  • Dirottare la risposta DNS per fornire all'utente finale un indirizzo IP errato.
  • Blocca la connessione TLS guardando la Server Name Indication (SNI)

Se sei preoccupato che il tuo proxy web venga bloccato dai censori di Internet, puoi mettere il tuo proxy web dietro una CDN (Content Delivery Network) come Cloudflare. In questo modo, l'indirizzo IP del tuo server viene nascosto e se il censore di Internet decide di bloccare l'indirizzo IP di Cloudflare, ci saranno danni collaterali poiché ci sono molti altri siti Web che utilizzano anche lo stesso indirizzo IP. Questo farà pensare due volte alla censura di Internet prima di farlo.

Per prevenire DNS poison, l'utente finale deve utilizzare DNS su TLS o DNS su HTTPS. Per evitare la divulgazione delle informazioni SNI, il sito Web dovrebbe utilizzare SNI crittografati.

Conclusione

Questo è tutto! Spero che questo tutorial ti abbia aiutato a creare il tuo proxy web su Ubuntu 16.04. Come sempre, se hai trovato utile questo post, iscriviti alla nostra newsletter gratuita per ricevere altri suggerimenti e trucchi.


Ubuntu
  1. Come configurare e installare il server proxy Squid su Ubuntu 18.04

  2. Come controllare la tua versione di Ubuntu

  3. Come installare Redis su Ubuntu 20.04 / 18.04

  4. Come configurare Nginx come proxy inverso su Ubuntu 20.04

  5. Ubuntu:come impostare un IP statico in Ubuntu?

Come installare Envoy Proxy su Ubuntu 20.04

Configura il tuo server VPN WireGuard su Ubuntu 20.04/18.04

Come configurare il server proxy Shadowsocks-libev su Ubuntu

Come impostare un IP statico su Ubuntu 20.04 (desktop)

Envoy Proxy su Ubuntu 20.04 – Come installarlo

Come configurare un VPN Pptp sul proprio server Ubuntu?