Cara mengkonfigurasi apache sebagai proxy terbalik

Cara mengkonfigurasi apache sebagai proxy terbalik

Server Proxy Terbalik adalah server web yang menerima permintaan klien dan merutekannya ke server backend yang sesuai. Dalam hal ini, proxy terbalik adalah server yang menghadap internet, dan aplikasi backend berjalan di LocalHost atau jaringan LAN.

Apache adalah server web paling populer yang juga dapat dikonfigurasi sebagai server proxy terbalik. Dalam tutorial ini, Anda akan belajar tentang mengkonfigurasi server proxy reverse apache pada sistem Linux.

Skenario Nework

Kami memiliki dua aplikasi yang berjalan dengan server Tomcat di port localhost 8080. Tidak peduli apakah aplikasi berjalan dengan Tomcat atau layanan lain seperti NodeJs dll. Kedua URL aplikasi lokal adalah:

  • http: // localhost: 8080/demo1
  • http: // localhost: 8080/demo2

Sekarang saya telah menginstal server Apache pada host yang sama berjalan di port 80. Server Apache menerima permintaan dari pengguna Internet dan meneruskannya ke aplikasi yang sesuai yang berjalan di bagian belakang. Kita perlu mengonfigurasi proxy untuk meneruskan permintaan sebagai berikut:

  • http: // contoh.com >> http: // localhost: 8080/demo1/
  • http: // contoh.net >> http: // localhost: 8080/demo2/
  • http: // domain.com/demo1/>> http: // localhost: 8080/demo1/
  • http: // domain.com/demo2/>> http: // localhost: 8080/demo2/

Untuk mendapatkan pemahaman yang lebih baik, lihat diagram di bawah ini:

Jadi, mari kita konfigurasi mulai:

Langkah 1: Pengaturan Modul Proxy Apache

Secara default, modul ini diaktifkan di Apache untuk pengguna yang diinstal menggunakan paket RPM. Pengguna yang berbasis di Debian perlu mengaktifkan modul secara manual.

  • Sistem Berbasis Redhat: Edit file konfigurasi proxy /etc/httpd/conf.modul.D/00-Proxy.conf Unkomment entri berikut. Jika tidak tersedia, lalu tambahkan.
    Modul LoadModule Proxy_Module/mod_proxy.Jadi Modul LoadModule Proxy_http_module/mod_proxy_http.Jadi 
  • Sistem Berbasis Debian: Gunakan perintah berikut untuk mengaktifkan modul proxy dengan Apache.
    sudo a2enmod proxy proxy_http  

Setelah mengaktifkan modul, Anda perlu memulai kembali layanan Apache untuk segera menerapkan perubahan.

Langkah 2: Mengkonfigurasi Apache Virtual Host

Sekarang akan mulai bekerja dengan host virtual. Kami membuat tiga host virtual seperti di bawah ini. Anda hanya membuat apa yang diperlukan dengan modifikasi yang diperlukan. Edit file konfigurasi utama Apache dan mulailah dengan konfigurasi.

  • Contoh host virtual pertama:
  • Untuk meneruskan semua permintaan yang dikirim ke contoh.com to backend server tomcat aplikasi yang sesuai seperti:

    • http: // contoh.com >> http: // localhost: 8080/demo1/

    Konfigurasikan host virtual pertama seperti di bawah ini:

    Contoh SERVERNAME.com proxyRequests di proxypass/http: // localhost: 8080/demo1/proxypassreverse/http: // localhost: 8080/demo1/
    12345678 Contoh SERVERNAME.com proxyRequests di proxypass/http: // localhost: 8080/demo1/proxypassreverse/http: // localhost: 8080/demo1/

  • Contoh host virtual kedua:
  • Untuk meneruskan semua permintaan yang dikirim ke contoh.net untuk backend server tomcat aplikasi yang sesuai seperti:

    • http: // contoh.net >> http: // localhost: 8080/demo2/

    Konfigurasikan host virtual seperti ini.

    Contoh SERVERNAME.Proksi net proksi di proxypass/http: // localhost: 8080/demo2/proxypassreverse/http: // localhost: 8080/demo2/
    12345678 Contoh SERVERNAME.Proksi net proksi di proxypass/http: // localhost: 8080/demo2/proxypassreverse/http: // localhost: 8080/demo2/

  • Contoh Host Virtual Ketiga:
  • Untuk meneruskan semua permintaan yang dikirim ke subdirektori/demo1/atau/demo2 di http: // domain.com ke back-end tomcat aplikasi yang sesuai seperti:

    • http: // domain.com/demo1/>> http: // localhost: 8080/demo1/
    • http: // domain.com/demo2/>> http: // localhost: 8080/demo2/

    Konfigurasikan host virtual seperti ini.

    Domain servername.com ProxyRequests On ProxyPass /demo1 http://localhost:8080/demo1/ ProxyPassReverse /demo1 http://localhost:8080/demo1/ ProxyPass /demo2 http://localhost:8080/demo2/ ProxyPassReverse /demo2 http://localhost : 8080/ demo2/ wajib diberikan semua yang diperlukan diberikan semua
    1234567891011121314151617 Domain servername.com ProxyRequests On ProxyPass /demo1 http://localhost:8080/demo1/ ProxyPassReverse /demo1 http://localhost:8080/demo1/ ProxyPass /demo2 http://localhost:8080/demo2/ ProxyPassReverse /demo2 http://localhost : 8080/demo2/ Diperlukan diberikan semua Diperlukan diberikan semua

Langkah 3: Restart Apache untuk menerapkan perubahan

Setelah Anda berhasil membuat host virtual Apache, Anda perlu memulai kembali layanan Apache. Gunakan perintah berikut untuk memulai kembali layanan Apache berdasarkan sistem operasi.

  • Sistem Berbasis Redhat:
    sudo systemctl restart httpd  
  • Sistem Berbasis Debed:
    Sudo Systemctl Restart Apache2  

Kesimpulan

Posting blog ini membantu Anda mengkonfigurasi Apache sebagai server proxy terbalik pada sistem berbasis Debian atau Redhat. Proxy terbalik membuat jembatan antara internet yang menghadap server web dan aplikasi web berjalan sebagai layanan backend.