
Konfigurasi Nginx + SSL Sebagai Reverse Proxy untuk Apache di Ubuntu 18.04
Panduan ini dirancang untuk pengguna Ubuntu yang ingin mengkonfigurasi Nginx sebagai reverse proxy untuk Apache, disertai dengan SSL untuk meningkatkan keamanan.
Prasyarat
- Server Ubuntu 18.04 terinstal dengan Apache dan Nginx.
- Akses ke terminal dengan hak administratif (sudo).
- Domain yang terdaftar dan diarahkan ke server Anda.
- Pengetahuan dasar tentang penggunaan terminal Linux.
Langkah Utama
1. Memperbarui Sistem
Pastikan sistem Anda selalu diperbarui dengan menjalankan perintah berikut:
sudo apt update && sudo apt upgrade -y
2. Menginstal Nginx dan Apache
Jika belum terinstal, Anda bisa menginstal Nginx dan Apache dengan perintah berikut:
sudo apt install nginx apache2 -y
3. Menginstal Certbot untuk SSL
Instal Certbot dan plugin Nginx untuk mendapatkan sertifikat SSL:
sudo apt install certbot python3-certbot-nginx -y
4. Mengonfigurasi Virtual Host untuk Nginx
Buat file konfigurasi baru untuk Nginx:
sudo nano /etc/nginx/sites-available/yourdomain.com
Masukkan konfigurasi berikut:
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
location / {
proxy_pass http://localhost:8080; # Port Apache
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Aktifkan konfigurasi dengan membuat symlink:
sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/
5. Mengonfigurasi Virtual Host untuk Apache
Buat file konfigurasi baru untuk Apache:
sudo nano /etc/apache2/sites-available/yourdomain.com.conf
Masukkan konfigurasi berikut:
<VirtualHost *:8080>
ServerName yourdomain.com
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Aktifkan konfigurasi dan modul rewrite:
sudo a2ensite yourdomain.com.conf
sudo a2enmod rewrite
6. Menguji Konfigurasi
Uji konfigurasi Nginx dan Apache untuk memastikan tidak ada kesalahan:
sudo nginx -t
sudo apache2ctl configtest
7. Menjalankan Nginx dan Apache
Mulai ulang kedua layanan untuk menerapkan perubahan:
sudo systemctl restart nginx
sudo systemctl restart apache2
8. Mendapatkan Sertifikat SSL
Gunakan Certbot untuk mendapatkan sertifikat SSL:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
Ikuti instruksi di layar untuk menyelesaikan proses.
Konfigurasi Lanjutan
1. Menyimpan dan Mengelola Sertifikat SSL
Pastikan untuk memperbarui sertifikat SSL secara otomatis dengan menambahkan cronjob:
sudo crontab -e
Tambahkan baris berikut:
0 0 * /usr/bin/certbot renew --quiet
2. Mengamankan Nginx dengan Header Keamanan
Tambahkan header keamanan berikut ke konfigurasi Nginx Anda:
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options DENY;
add_header X-XSS-Protection "1; mode=block";
Best Practices
- Selalu gunakan sertifikat SSL untuk melindungi data Anda.
- Pastikan Nginx dan Apache selalu diperbarui ke versi terbaru.
- Gunakan firewall untuk membatasi akses ke server Anda.
- Backup konfigurasi dan data secara berkala.
Troubleshooting
Jika Anda mengalami masalah, periksa log error Nginx dan Apache untuk mendapatkan informasi lebih lanjut:
sudo tail -f /var/log/nginx/error.log
sudo tail -f /var/log/apache2/error.log
Pastikan port yang digunakan oleh Apache tidak bentrok dengan layanan lain di server Anda.
Kesimpulan
Dengan mengikuti langkah-langkah di atas, Anda berhasil mengkonfigurasi Nginx sebagai reverse proxy untuk Apache di Ubuntu 18.04 dengan SSL. Konfigurasi ini tidak hanya meningkatkan keamanan tetapi juga dapat memperbaiki performa aplikasi web Anda.
Jika Anda masih memiliki pertanyaan atau membutuhkan bantuan lebih lanjut, jangan ragu untuk menghubungi tim support kami.
Verifikasi Teknis
Panduan ini disusun berdasarkan referensi teknis terbaru. Namun, konfigurasi server dapat bervariasi. Lihat sumber referensi asli →
📚 Artikel Terkait

Cara Setting Nginx + SSL Sebagai Reverse Proxy untuk Apache di Ubuntu 18.04
564 kata • Baca selengkapnya →

Cara Install HTTPS di localhost Nginx
632 kata • Baca selengkapnya →
Cara Install Let's Encrypt SSL dengan Apache di CentOS 8
654 kata • Baca selengkapnya →

Cara Install Let's Encrypt SSL dengan Nginx di CentOS 8
492 kata • Baca selengkapnya →