Cara Menggunakan Apache Sebagai Reverse Proxy - Panduan Langkah-demi-Langkah

Diterbitkan: 2023-07-23

Dalam panduan ini akan menemukan jawaban Cara Menggunakan Apache Sebagai Reverse Proxy . Server proxy terbalik adalah alat ampuh yang bertindak sebagai perantara antara klien dan server backend, seperti server web atau server aplikasi. Tidak seperti forward proxy tradisional, yang berada di antara klien dan internet, reverse proxy berada di antara klien dan satu atau lebih server.

Saat klien membuat permintaan, server proxy balik meneruskan permintaan tersebut ke server backend yang sesuai atas nama klien. Kemudian mengambil respons dari server backend dan mengirimkannya kembali ke klien. Proses ini secara efektif menyembunyikan identitas server backend dan struktur internal dari klien.

Reverse proxy menawarkan beberapa keuntungan, termasuk peningkatan keamanan dengan melindungi server backend dari paparan langsung ke internet, load balancing untuk mendistribusikan permintaan klien di beberapa server, dan caching untuk meningkatkan kinerja dengan menyajikan konten cache ke klien.

Daftar isi

Membedakan Forward Proxy dan Reverse Proxy

  • Arah Proksi:
    • Proksi Teruskan: Menangani permintaan klien untuk mengakses sumber daya di internet. Itu berada di antara klien dan internet, meneruskan permintaan klien ke server eksternal.
    • Reverse Proxy: Mengelola permintaan klien untuk mengakses sumber daya dalam jaringan organisasi. Itu berada di antara klien dan server backend, meneruskan permintaan klien ke server backend yang sesuai.
  • Perspektif Klien:
    • Proksi Teruskan: Klien biasanya tidak mengetahui keberadaan forward proxy. Permintaan klien dikirim ke server proxy, dan server tujuan menerima permintaan seolah-olah datang langsung dari klien.
    • Membalikkan Proksi: Klien mengirim permintaan langsung ke proxy terbalik, bukan server backend. Reverse proxy kemudian meneruskan permintaan ke server backend atas nama klien.
  • Gunakan Kasus:
    • Forward Proxy: Sering digunakan untuk pemfilteran konten, kontrol akses, dan menganonimkan permintaan klien dengan menyembunyikan alamat IP klien.
    • Reverse Proxy : Terutama digunakan untuk load balancing, penghentian SSL, caching, dan menyediakan gateway yang aman ke layanan backend.
  • Perspektif Server:
    • Forward Proxy : Server tujuan melihat permintaan yang datang dari forward proxy, bukan klien asli. Itu tidak mengetahui klien sebenarnya yang membuat permintaan.
    • Reverse Proxy: Server backend melihat proxy terbalik saat klien membuat permintaan. Mereka tidak mengetahui klien sebenarnya yang membuat permintaan awal.
  • Implikasi Keamanan:
    • Forward Proxy: Meningkatkan privasi klien dengan menutupi alamat IP klien. Itu juga dapat memberikan lapisan keamanan tambahan dengan memfilter konten berbahaya sebelum mencapai klien.
    • Reverse Proxy: Bertindak sebagai perisai untuk server backend, menjaga struktur internal mereka tersembunyi dari klien eksternal. Ini membantu melindungi dari paparan langsung ke internet dan serangan potensial.
  • Lokasi Penerapan:
    • Forward Proxy: Diterapkan dalam jaringan klien atau pada perangkat klien untuk mengontrol akses internet keluar.
    • Reverse Proxy: Diterapkan di tepi jaringan organisasi, antara internet dan server backend, mengelola permintaan klien masuk.

Menjelajahi Berbagai Kasus Penggunaan Reverse Proxies

Reverse proxy menawarkan berbagai kasus penggunaan yang meningkatkan kinerja, keamanan, dan skalabilitas aplikasi dan layanan web.

Beberapa kasus penggunaan utama dari proxy terbalik meliputi

  • Load Balancing: Reverse proxy dapat mendistribusikan permintaan klien yang masuk ke beberapa server backend. Ini membantu mendistribusikan beban, mencegah kelebihan server, dan memastikan penggunaan sumber daya yang lebih baik. Load balancing meningkatkan keseluruhan kinerja dan daya tanggap aplikasi.
  • Penghentian SSL : Proksi terbalik dapat menangani enkripsi dan dekripsi SSL/TLS atas nama server backend. Ini membongkar pemrosesan SSL intensif sumber daya dari server backend, mengurangi beban kerja mereka dan menyederhanakan manajemen sertifikat.
  • Caching: Reverse proxy dapat menyimpan sumber daya yang sering diminta dalam memori cache. Saat klien meminta sumber daya yang sama, proxy balik menyajikan konten yang di-cache secara langsung, mengurangi beban server dan meningkatkan waktu respons.
  • Akselerasi Web: Dengan menyimpan konten statis dan mengompresi data, proxy terbalik dapat mempercepat pemuatan halaman web untuk klien, menghasilkan pengalaman pengguna yang lebih lancar.
  • Keamanan dan Perlindungan DDoS: Reverse proxy bertindak sebagai pelindung antara internet dan server backend. Mereka dapat memfilter dan memblokir lalu lintas berbahaya, melindungi dari serangan Distributed Denial of Service (DDoS), dan menyembunyikan alamat IP asli server backend untuk mencegah serangan langsung.
  • Firewall Aplikasi Web (WAF) : Proksi terbalik dapat bertindak sebagai WAF, memeriksa lalu lintas masuk untuk potensi ancaman, seperti injeksi SQL, skrip lintas situs (XSS), dan aktivitas jahat lainnya. Mereka membantu melindungi aplikasi web dari kerentanan umum.
  • Titik Masuk Tunggal: Proksi terbalik menyediakan satu titik masuk bagi klien eksternal untuk mengakses beberapa server backend. Ini menyederhanakan arsitektur jaringan dan memungkinkan pengelolaan dan penskalaan layanan yang lebih mudah.
  • Konversi Protokol: Proksi terbalik dapat menerjemahkan permintaan dari satu protokol ke protokol lainnya. Misalnya, mereka dapat mengonversi permintaan HTTP ke WebSocket atau protokol khusus aplikasi lainnya, memfasilitasi komunikasi antara klien dan server.
  • Kompresi dan Pengoptimalan Konten: Proksi terbalik dapat memampatkan konten keluar sebelum mengirimnya ke klien, mengurangi ukuran transfer data dan meningkatkan waktu muat halaman.

Prasyarat - Konfigurasikan Apache sebagai Proksi Terbalik

Instal Klien Bitwise SSH

  1. Cari Bitwise SSH Client di browser Anda. Klik tautan https://www.bitvise.com/ssh-client-download dan mulai penginstalan

2. Setelah penginstalan setup buka file .exe dari komputer Anda dan selesaikan Instalasi Bitvise SSH Client.

Bagaimana cara masuk ke server SSH menggunakan bitwise?

  1. Setelah instalasi selesai, jendela di bawah ini akan muncul. Masukkan host, port, dan nama pengguna Anda, pilih kata sandi dari tarik-turun Metode Awal, lalu klik masuk. Akan muncul pop-up untuk memasukkan password. Masukkan kata sandi SSH Anda.

2. Setelah Anda masuk, klik "Konsol Terminal Baru", dan terminal akan segera muncul.

Langkah 1 - Instal Apache

Hubungkan Server

Sekarang, untuk membuat koneksi ke server Anda dan menyegarkan indeks paket lokal menggunakan repositori APT, masukkan perintah di bawah ini di terminal dan tekan enter:

 pembaruan tepat 

Pembaruan akan memakan waktu untuk diselesaikan sementara menunggu penyelesaiannya.

Bagaimana cara menginstal Apache di Ubuntu ?

  1. Instal Apache di Ubuntu

Sekarang, untuk menginstal Apache dari Ubuntu masukkan perintah di bawah ini dan tekan enter

 apt install -y apache2

2. Verifikasi Versi Apache

Setelah instalasi, Anda memiliki opsi untuk memverifikasi versi Apache menggunakan

 apache2 -version

3. Verifikasi Status Apache

Anda juga memiliki opsi untuk memverifikasi status Apache2 menggunakan perintah di bawah ini. Ini membantu Anda menentukan dengan cepat apakah server sedang berjalan, dan jika ada masalah yang memerlukan perhatian.

 systemctl status apache2

Seperti yang Anda amati, status (AKHIR) yang ditampilkan di layar Anda merupakan indikasi yang jelas bahwa instalasi Apache2 berhasil. Hasil ini mengonfirmasi bahwa proses penginstalan telah selesai tanpa error atau masalah apa pun.

4. Aktifkan Apache

Untuk mengaktifkan Apache2 di Ubuntu gunakan perintah:

 systemctl enabled apache2

5. Mulai Apache

Jika Anda ingin me-restart Apache2 di Ubuntu gunakan perintah di bawah ini di terminal:

 systemctl start apache2

Bagaimana cara menginstal Apache di Almalinux?

  1. Periksa Pembaruan yang Tersedia

Untuk menginstal Apache2 di Almalinux, periksa pembaruan yang tersedia dengan menjalankan perintah " dnf check-update" .

 dnf check-update

Jika pembaruan ditemukan, lanjutkan untuk memperbarui Linode Anda dengan "pembaruan dnf". Selain itu, jika ada komponen kernel yang diperbarui selama proses berlangsung, ingatlah untuk mem-boot ulang Linode dengan "reboot" untuk menerapkan perubahan.

  1. Instal Apache

Sekarang lanjutkan dengan instalasi paket Apache yang diperlukan.

 dnf install httpd httpd-tools
  1. Mulai Apache

Setelah menginstal Apache, itu tidak dimulai secara otomatis. Untuk memulai dan mengaktifkannya, gunakan utilitas systemctl .

 systemctl start httpd
  1. Aktifkan Apache

Untuk memastikan bahwa Apache memulai ulang secara otomatis setiap kali sistem melakukan boot ulang , aktifkan.

 systemctl enable httpd
  1. Periksa Status Apache

Periksa status Apache dengan menggunakan perintah "systemctl status" . Itu harus ditampilkan sebagai aktif dan berjalan.

 systemctl status httpd

Langkah 2 - Aktifkan Modul Apache untuk Reverse Proxy

Bagaimana cara mengaktifkannya di Ubuntu?

Untuk memanfaatkan reverse proxy secara efektif dengan Apache Web Server, Anda harus mengaktifkan modul Apache tertentu yang sangat penting untuk mendukung fungsionalitas tambahan yang diperlukan oleh server proxy terbalik.

  1. Identifikasi Modul yang Diperlukan

mod_proxy : Berfungsi sebagai modul proxy utama untuk Apache, mod_proxy secara efisien menangani koneksi dan pengalihan. Ini memberdayakan Apache untuk berfungsi sebagai pintu gerbang ke server backend yang mendasarinya, menjadikannya modul yang sangat diperlukan untuk semua pengaturan proxy terbalik.

mod_proxy_http : Modul ini bergantung pada mod_proxy dan sangat diperlukan untuk mendukung permintaan HTTP dan HTTPS di lingkungan server proxy. Hal ini memungkinkan Apache mahir menangani proksi aplikasi web menggunakan protokol HTTP/HTTPS .

mod_ssl: Menyediakan fungsionalitas esensial, mod_ssl melengkapi server HTTP Apache dengan dukungan untuk protokol SSL v3 dan TLS v1.x. Modul ini sangat penting untuk membangun koneksi terenkripsi yang aman, memastikan integritas data, dan meningkatkan keamanan server web.

2. Aktifkan Modul

Sekarang, kita akan mengaktifkan modul-modul ini menggunakan perintah a2enmod :

 sudo a2enmod proxy sudo a2enmod proxy_http sudo a2enmod ssl
  1. Mulai ulang Server Apache2

Setelah mengaktifkan modul Apache baru, sangat penting untuk tidak mengabaikan langkah penting untuk memulai ulang server apache2 . Langkah ini memastikan bahwa perubahan berlaku dan memungkinkan modul yang baru diaktifkan terintegrasi penuh ke dalam konfigurasi server Apache.

 sudo systemctl restart apache2
  1. Verifikasi Modul

Anda dapat mengonfirmasi status aktif modul ini dengan menggunakan perintah berikut:

 sudo apachectl -M

Langkah 3 - Konfigurasi Proxy Terbalik Apache

Sekarang, konfigurasikan proxy balik Apache untuk menerima permintaan dari internet dan meneruskannya secara efektif ke sumber daya pilihan Anda.

  1. Nonaktifkan Apache default

Untuk memulai, Anda akan menonaktifkan file konfigurasi host virtual Apache default. Ini dapat dicapai dengan menggunakan perintah berikut:

 a2dissite 000-default.conf
  1. Buat File Konfigurasi baru

Membuat file konfigurasi host virtual baru adalah langkah mendasar dalam menyesuaikan Apache untuk melayani berbagai aplikasi web atau situs web di server yang sama. A virtual host memungkinkan Apache untuk mengelola beberapa domain atau subdomain, masing-masing dengan konfigurasi dan pengaturan uniknya sendiri.

Untuk membuat file konfigurasi host virtual baru, ikuti langkah-langkah umum berikut:

Pilih Nama : Pilih nama deskriptif untuk file host virtual Anda, biasanya diakhiri dengan ekstensi ".conf". Misalnya, "example.com.conf" atau "cyberpanel.conf".

Arahkan ke Direktori Konfigurasi Apache: Di sebagian besar distribusi Linux, file konfigurasi Apache disimpan di direktori "/etc/apache2/sites-available/" . Contohnya:

 cd /etc/apache2/sites-available/

Buat File Virtual Host : Gunakan editor teks, seperti nano atau vi, untuk membuat file konfigurasi baru. Contohnya:

 sudo nano example.com.conf

Setelah memasukkan perintah di atas, file di bawah ini akan muncul:

Konfigurasikan Virtual Host : Di dalam file, gunakan direktif <VirtualHost> untuk menentukan alamat IP dan port untuk menerima permintaan untuk host virtual tertentu. Sebagai contoh dasar, mengizinkan semua alamat IP pada port HTTP default (port 80) , gunakan yang berikut ini:

 <VirtualHost *:80>    ServerName site1.com    ServerAlias www.site1.com     ServerAdmin [email protected]    ErrorLog ${APACHE_LOG_DIR}/error.log    CustomLog ${APACHE_LOG_DIR}/access.log combined    ProxyPass / http://127.0.0.1:8080/    ProxyPassReverse / http://127.0.0.1:8080/    ProxyRequests Off </VirtualHost>

Proses konfigurasi dimulai dengan mendefinisikan host virtual dengan perintah <VirtualHost> , yang menentukan alamat IP dan nomor port yang diterima untuk Apache. Dalam contoh ini, karakter wildcard * digunakan, memungkinkan penerimaan semua alamat IP, sedangkan nomor port diatur ke 80 , mewakili port HTTP default. Setelah ini, konfigurasi selanjutnya mencakup item berikut:

  • ServerName : Arahan ini menentukan nama domain yang terkait dengan server.
  • ServerAlias: Dengan ServerAlias, Anda dapat menentukan nama tambahan yang akan diterima server.
  • ServerAdmin : Direktif ServerAdmin menetapkan alamat email kontak yang disertakan server dalam pesan kesalahan yang dikembalikan ke klien.
  • ErrorLog : ErrorLog menetapkan nama file tempat penyimpanan Apache mengalami kesalahan.
  • CustomLog: CustomLog menetapkan nama file tempat Apache mencatat permintaan klien ke server.
  • ProxyPass: ProxyPass memetakan server jarak jauh ke ruang server lokal dan menentukan alamat target untuk pengalihan lalu lintas. Ini memungkinkan Apache untuk bertindak sebagai proxy balik, meneruskan permintaan ke server backend dan meningkatkan kinerja aplikasi dan distribusi beban.
  • ProxyPassReverse: ProxyPassReverse sangat penting untuk server proxy karena ia menulis ulang lokasi asli, lokasi konten, dan header respons HTTP URI dari server backend dengan informasi server proxy. Ini memastikan bahwa proxy balik menangani respons dengan benar dan mencegah server backend terpapar ke akses Internet langsung.
  • ProxyRequests: ProxyRequests mencegah server HTTP Apache digunakan sebagai proksi penerusan, sehingga meningkatkan keamanan. Biasanya harus disetel ke "mati" saat menggunakan ProxyPass untuk menghindari penyalahgunaan server sebagai proxy terbuka dan melindungi dari potensi risiko keamanan.

Simpan dan Keluar : Simpan perubahan dan keluar dari editor teks.

Enable the Virtual Host : Gunakan perintah a2ensite untuk mengaktifkan konfigurasi virtual host yang baru:

 sudo a2ensite example.com.conf

Muat ulang Apache: Untuk menerapkan perubahan, muat ulang Apache untuk mengaktifkan host virtual baru:

 sudo systemctl reload apache2

Dengan selesainya langkah-langkah ini, host virtual baru kini aktif dan siap melayani situs web atau aplikasi yang ditunjuknya. Penting untuk dicatat bahwa perubahan hanya akan berlaku setelah host virtual diaktifkan dan Apache telah dimuat ulang. Selain itu, Anda dapat menempatkan file situs web Anda di direktori yang ditentukan oleh arahan "DocumentRoot" untuk memastikan Apache menyajikan konten dengan benar untuk host virtual khusus ini.

Verifikasi Konfigurasi: Pastikan konfigurasi proxy terbalik berfungsi seperti yang diharapkan. Kunjungi nama domain yang ditunjuk (misalnya, "reverse-proxy.example.com") di browser web, dan Apache harus meneruskan permintaan ke server backend dengan benar.

Perlu diingat bahwa Anda mungkin perlu mengonfigurasi setelan tambahan berdasarkan kasus penggunaan tertentu, seperti menangani sertifikat SSL, load balancing, atau proksi WebSocket . Secara teratur memantau kinerja dan keamanan server untuk memastikan kelancaran operasi.

Cara menggunakan Apache sebagai proxy terbalik di Cyberpanel

Di Cyberpanel, integrasi Apache dengan OpenLiteSpeed ​​di backend menawarkan yang terbaik dari kedua dunia, menggabungkan keunggulan kecepatan OpenLiteSpeed ​​dengan kemampuan Apache yang kaya fitur. Khususnya, menggunakan Apache sebagai proxy balik tidak mengganggu kinerja ls cache; Anda akan mempertahankan tingkat kinerja yang sama dengan OpenLiteSpeed ​​saja. Dalam konfigurasi ini, OpenLiteSpeed ​​tetap bertanggung jawab untuk meneruskan lalu lintas frontend ke Apache, yang menangani permintaan dari backend. Selain itu, integrasi ini didukung pada sistem operasi AlmaLinux dan Ubuntu . Dengan mengikuti artikel ini, pengguna dapat memanfaatkan sepenuhnya keuntungan yang ditawarkan dengan menggabungkan Apache dan OpenLiteSpeed ​​dalam penyiapan proxy terbalik.

Masuk ke dasbor Cyberpanel Anda.

Buka Opsi Situs Web Klik Buat Situs Web

Masukkan nama domain Anda, Alamat email, dan versi PHP, lalu pilih Apache sebagai proxy terbalik. Setelah memasukkan detail, klik Buat Situs Web. Mungkin perlu waktu dan kemudian akan dibuat

Situs web ini akan berfungsi di Apache sebagai mode proxy terbalik. Di bagian depan, Openlitespeed akan berfungsi, dan di bagian belakang Apache. Jadi semua aturan htaccess Anda akan berfungsi seperti dulu apakah Anda menggunakan Cpanel atau panel kontrol lainnya

Anda dapat melihat situs akan berhasil dibuat.

Untuk situs ini, Anda dapat mengelola konfigurasi Apache untuk situs ini di pengelola situs web kami. Klik Kelola

Setelah Anda di sini Klik pada Manajer Apache

Dan bahkan Anda kemudian dapat beralih ke kecepatan Openlite murni juga. Jadi katakanlah Anda ingin memutuskan tidak ingin menggunakan Apache di backend dengan situs web ini. Jika Anda ingin beralih ke Openlitespeed murni , pilih versi PHP dan klik alihkan ke Openlitespeed murni. Itu dapat dikonversi untuk menggunakan Apache juga jika menggunakan OpenLitespeed

Ini adalah Konfigurasi Apache. Anda dapat dengan mudah mengedit jika ingin mengedit sesuatu tetapi pastikan Anda tahu apa yang Anda lakukan karena ada yang salah di sini dan situs web Anda akan berhenti berfungsi

Di Konfigurasi Apache Kami, kami menggunakan PHP-FPM, jadi ini adalah konfigurasi PHP-FPM yang Anda gunakan

Untuk Konfigurasi Php Pergi ke PHP dan klik edit Konfigurasi PHP. Jika Anda ingin mengedit konfigurasi PHP.

Jika Anda menggunakan Apache maka Anda juga perlu mengedit konfigurasi Php juga sehingga jika Anda telah menginstal Apache Anda akan melihat URL ini.

Secara default, Anda dapat mengedit konfigurasi untuk Litespeed Php. Jika Anda ingin mengedit konfigurasi untuk Apache, klik juga EDIT KONFIGURASI APACHE

Setelah mengklik EDIT KONFIGURASI APACHE maka Anda dapat melakukan apa pun yang digunakan dengan konfigurasi Litespeed Seperti post_max_size, upload_max_filesize, max_execution_time atau apa pun.

Pastikan setelah mengedit konfigurasi Klik Simpan perubahan

Demikian pula, Anda juga dapat menggunakan Edit Lanjutan

Demikian pula, Anda dapat menginstal Ekstensi PHP untuk Apache. Cukup Klik pada PHP->Instal ekstensi

Jika Anda menggunakan Apache maka Anda juga perlu MENGELOLA EKSTENSI APACHE juga sehingga jika Anda menginstal Apache Anda akan melihat URL ini.  

Secara default, Anda dapat menginstal Ekstensi untuk Litespeed Php. Jika Anda ingin Memasang ekstensi untuk Apache, klik juga KELOLA EKSTENSI APACHE

Konten Terkait

Anda juga dapat melihat panduan kami tentang Apache vs NGINX Siapa yang MENANG dalam hal Performa?