GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Mengatur Proksi Web Anda Sendiri di Ubuntu 16.04 VPS

Tutorial ini menunjukkan kepada Anda cara mengatur proxy web Anda sendiri di Ubuntu 16.04. Proxy web adalah situs web tempat pengguna memasukkan URL tertentu untuk membuka blokir situs web. Ada banyak skrip proxy web yang dapat digunakan untuk mengatur proxy web Anda sendiri. Glype dan Proxy-PHP akan digunakan dalam tutorial ini. Glype adalah skrip proxy web yang sangat populer dan PHP-Proxy merupakan alternatif yang baik. Anda dapat memilih salah satunya. Dalam pengujian saya, PHP-Proxy lebih cepat dan bekerja lebih baik dengan situs web populer seperti Facebook, Twitter, dan YouTube, karena sedang diperbarui secara aktif. Kita akan melihat cara mengaturnya dengan Apache/Nginx dan mengaktifkan HTTPS dengan Let's Encrypt.

Biasanya saya menggunakan proxy Shadowsocks dan OpenConnect VPN untuk melewati sensor Internet, tetapi ada kemungkinan kedua alat ini akan diblokir di negara saya. Proksi web adalah metode pencadangan yang baik karena tidak memiliki karakteristik proksi SOCKS dan VPN. Di mata firewall Internet, itu hanya lalu lintas HTTPS biasa. Ada puluhan ribu proxy web gratis online. Kelemahannya adalah begitu proxy web publik tersebut menjadi terkenal, mereka dapat dengan mudah diblokir. Menyiapkan proxy web pribadi Anda memiliki keuntungan karena hanya Anda yang tahu keberadaannya.

Prasyarat

Untuk mengikuti tutorial ini, Anda memerlukan:

  • VPS (Virtual Private Server) yang dapat mengakses situs web yang diblokir secara bebas (Di luar negara Anda atau sistem penyaringan Internet) dan nama domain. Untuk VPS, saya merekomendasikan Vultr. Mereka menawarkan memori 512M KVM VPS kinerja tinggi hanya dengan $2,5 per bulan, yang sempurna untuk server proxy pribadi Anda.
  • Instal server web dan PHP

Anda juga memerlukan nama domain, sehingga Anda dapat menambahkan enkripsi HTTPS untuk melindungi lalu lintas web Anda. Saya merekomendasikan membeli nama domain dari NameCheap karena harganya rendah dan mereka memberikan perlindungan privasi whois gratis seumur hidup.

Langkah 1:Instal Server Web dan PHP

SSH ke Ubuntu 16.04 VPS Anda. Jika Anda ingin menggunakan Nginx sebagai server web, maka instal Nginx dan PHP7 dengan menjalankan perintah berikut.

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

Jika Anda ingin menggunakan Apache sebagai server web, jalankan

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

Langkah 2:Unduh Glype atau PHP-Proxy

Glype

Unduh Glype dengan menjalankan perintah berikut.

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

Ekstrak ke /var/www/proxy/ direktori.

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

Setel www-data (pengguna server web) sebagai pemilik.

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

Proksi PHP

Kita dapat menggunakan Composer untuk mengunduh PHP-Proxy. Instal Komposer dari repositori Ubuntu 16.04.

sudo apt install composer

Kemudian unduh PHP-Proxy ke /var/www/proxy/ direktori.

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

Setel www-data (pengguna server web) sebagai pemilik.

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

Langkah 3:Konfigurasi Server Web

Pada langkah ini, kita perlu membuat blok server Nginx atau host virtual Apache untuk proxy web kita.

Buat Blok Server Nginx

Buat blok server di bawah /etc/nginx/conf.d/ direktori.

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

Salin dan tempel baris berikut ke dalam file. Ganti proxy.example.com dengan nama domain asli Anda. Jangan lupa untuk menetapkan rekor A di pengelola DNS Anda.

server { dengarkan 80; nama_server proxy.contoh.com; root /var/www/proxy/; indeks indeks.php; lokasi / { try_files $uri $uri/ /index.php; } lokasi ~ \.php$ { fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; termasuk fastcgi_params; sertakan snippets/fastcgi-php.conf; }}

Simpan dan tutup file. Kemudian uji konfigurasi Nginx.

sudo nginx -t

Jika pengujian berhasil, muat ulang Nginx agar perubahan diterapkan.

sudo systemctl reload nginx

Buat Host Virtual Apache

Buat virtual host Apache di /etc/apache2/sites-avaialable/ direktori.

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

Salin dan tempel baris berikut ke dalam file. Ganti proxy.example.com dengan nama domain asli Anda. Jangan lupa untuk menetapkan rekor A di pengelola DNS Anda.

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

Simpan dan tutup file. Kemudian aktifkan host virtual ini.

sudo a2ensite web-proxy.conf

Muat ulang Apache agar perubahan diterapkan.

sudo systemctl reload apache2

Antarmuka Web

Sekarang kunjungi proxy.example.com di peramban web Anda. Jika Anda menggunakan Glype, maka Anda akan diarahkan ke panel kontrol admin (proxy.example.com/admin.php ).

Jika Anda menggunakan PHP-Proxy, Anda dapat melihat proxy web yang berfungsi menunggu Anda untuk memasukkan URL.

Sekarang mari aktifkan HTTPS dengan Let's Encrypt.

Langkah 4:Aktifkan HTTPS dengan Let's Encrypt for Your Web Proxy

Kita dapat menginstal klien Let's Encrypt (certbot) dari PPA resmi dengan menjalankan perintah berikut.

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

Nginx pengguna juga perlu menginstal plugin Certbot Nginx.

sudo apt install python-certbot-nginx

Aktifkan HTTPS dengan plugin Nginx.

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

Apache pengguna perlu menginstal plugin Certbot Apache.

sudo apt install python-certbot-apache

Aktifkan HTTPS dengan plugin Apache.

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

Jika Anda mendapatkan pesan kesalahan berikut.

Klien dengan autentikator yang dipilih saat ini tidak mendukung kombinasi tantangan apa pun yang akan memenuhi CA.

Silakan lihat posting ini di forum Let's Encrypt untuk memperbaikinya.

Setelah sertifikat berhasil dipasang, segarkan proxy Anda di browser web untuk menggunakan HTTPS.

(Opsional) Menempatkan Proxy Web Anda Di Belakang CDN

Setidaknya ada tiga cara sensor Internet dapat memblokir situs web:

  • Blokir alamat IP situs web.
  • Bajak respons DNS untuk memberikan alamat IP yang salah kepada pengguna akhir.
  • Blokir koneksi TLS dengan melihat Indikasi Nama Server (SNI)

Jika Anda khawatir proxy web Anda diblokir oleh sensor Internet, Anda dapat meletakkan proxy web Anda di belakang CDN (Content Delivery Network) seperti Cloudflare. Dengan cara ini, alamat IP server Anda disembunyikan dan jika sensor Internet memutuskan untuk memblokir alamat IP Cloudflare, akan ada kerusakan tambahan karena ada banyak situs web lain yang juga menggunakan alamat IP yang sama. Ini akan membuat sensor Internet berpikir dua kali sebelum melakukannya.

Untuk mencegah racun DNS, pengguna akhir harus menggunakan DNS melalui TLS atau DNS melalui HTTPS. Untuk mencegah kebocoran informasi SNI, situs web harus menggunakan SNI terenkripsi.

Kesimpulan

Itu dia! Saya harap tutorial ini membantu Anda membuat proxy web Anda sendiri di Ubuntu 16.04. Seperti biasa, jika menurut Anda postingan ini bermanfaat, berlangganan newsletter gratis kami untuk mendapatkan lebih banyak tips dan trik.


Ubuntu
  1. Cara Mengatur &Menginstal Server Proxy Squid di Ubuntu 18.04

  2. Cara Mengatur Nginx sebagai Proxy Terbalik di Ubuntu 20.04

  3. Ubuntu – Bagaimana Cara Mengatur Ip Statis Di Ubuntu?

  1. Cara Memeriksa Versi Ubuntu Anda

  2. Cara Menginstal Redis di Ubuntu 20.04 / 18.04

  3. Cara Mengatur Server OpenVPN di Ubuntu 18.04

  1. Cara Mengatur Server Nama DNS di Ubuntu 18.04

  2. Cara Mengatur VPN WireGuard di Ubuntu 18.04

  3. Cara Mengatur VPN WireGuard di Ubuntu 20.04