Bagaimana Mengonfigurasi Nginx sebagai Reverse Proxy untuk Odoo 18
Pelajari cara mengonfigurasi Nginx, mengaktifkan HTTPS, dan mengakses Odoo ERP Anda dengan aman melalui domain kustom.
Nginx adalah server web berkinerja tinggi yang umum digunakan sebagai proxy terbalik untuk Odoo ERP. Dengan mengonfigurasi Nginx, bisnis dapat mengakses Odoo melalui domain kustom, mengaktifkan enkripsi HTTPS, dan mengelola lalu lintas web yang masuk dengan lebih efisien. Tutorial ini menjelaskan cara mengatur Nginx untuk Odoo 18 yang berjalan di server Ubuntu.
Langkah 1 — Instal Nginx
Hubungkan ke server Ubuntu Anda menggunakan SSH dan jalankan:
sudo apt update sudo apt install nginx -y
Aktifkan dan mulai Nginx:
sudo systemctl enable nginx sudo systemctl start nginx
Verifikasi layanan:
sudo systemctl status nginx
Pastikan domain Anda mengarah ke alamat IP publik server.
Langkah 2 — Aktifkan Mode Proxy di Odoo
Buka file konfigurasi Odoo Anda:
sudo nano /etc/odoo.conf
Tambahkan atau perbarui pengaturan berikut:
[options] proxy_mode = True http_interface = 127.0.0.1 http_port = 8069
Untuk penyebaran produksi yang menggunakan beberapa pekerja, juga konfigurasikan:
workers = 2 gevent_port = 8072
Sesuaikan jumlah pekerja berdasarkan sumber daya server dan beban kerja. Port gevent yang didedikasikan digunakan untuk koneksi WebSocket dalam mode multi-pekerja.
Restart Odoo:
sudo systemctl restart odoo
Catatan: Jalur konfigurasi dan nama layanan mungkin berbeda tergantung pada instalasi Anda. Aktifkan mode proxy hanya ketika Odoo berada di belakang proxy terbalik yang tepercaya.
Langkah 3 — Buat Konfigurasi Nginx
Buat file konfigurasi baru:
sudo nano /etc/nginx/sites-available/odoo
Tambahkan konfigurasi berikut:
upstream odoo {
server 127.0.0.1:8069;
}
upstream odoochat {
server 127.0.0.1:8072;
}
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
server_name erp.example.com;
client_max_body_size 100M;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
location /websocket {
proxy_pass http://odoochat;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
location / {
proxy_pass http://odoo;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
}
}
Ganti erp.example.com dengan domain Anda yang sebenarnya.
Penting: Contoh ini mengasumsikan Odoo berjalan dalam mode multi-pekerja dengan layanan WebSocket yang didedikasikan di port 8072. Untuk penerapan satu utas, pengaturan rute WebSocket harus disesuaikan dengan konfigurasi server Odoo yang sebenarnya.
Langkah 4 — Aktifkan Konfigurasi Nginx
Buat tautan simbolik:
sudo ln -s /etc/nginx/sites-available/odoo \ /etc/nginx/sites-enabled/odoo
Periksa konfigurasi:
sudo nginx -t
Jika pengujian berhasil, muat ulang Nginx:
sudo systemctl reload nginx
Instansi Odoo Anda sekarang seharusnya dapat diakses melalui:
http://erp.example.com
Langkah 5 — Aktifkan HTTPS dengan Let's Encrypt
Instal Certbot:
sudo apt install certbot python3-certbot-nginx -y
Generate an SSL certificate:
sudo certbot --nginx -d erp.example.com
Ikuti instruksi untuk menyelesaikan konfigurasi SSL dan mengaktifkan pengalihan HTTP ke HTTPS. Setelah instalasi berhasil, akses Odoo menggunakan:
https://erp.example.com
Verifikasi pembaruan sertifikat otomatis:
sudo certbot renew --dry-run
Pastikan port 80 dan 443 dapat diakses untuk validasi HTTP yang diperlukan dan lalu lintas HTTPS.
Langkah 6 — Uji Konfigurasi
Buka browser Anda dan akses domain Odoo.
Verifikasi bahwa:
- Odoo berhasil dimuat melalui HTTPS.
- Login dan logout berfungsi dengan baik.
- Halaman website dan menu backend dimuat dengan normal.
- Diskusikan cara kerja notifikasi dan fitur real-time lainnya.
- Konsol browser dan log server tidak menunjukkan kesalahan proxy kritis.
Anda dapat memantau kesalahan Nginx menggunakan:
sudo tail -f /var/log/nginx/error.log
Masalah Umum dan Solusi
| Masalah | Solusi yang Direkomendasikan |
| 502 Bad Gateway | Verifikasi layanan Odoo dan port Verify Odoo service and port 8069 |
| 504 Gateway Timeout | Periksa waktu pemrosesan Odoo dan waktu tunggu proxyCheck Odoo processing time and proxy timeout |
| WebSocket Connection Failed | Verify port 8072, worker mode, and Upgrade headers |
| HTTPS Not Working | Check DNS, firewall, and SSL certificate |
| Redirect Loop | Verify proxy_mode and forwarded HTTPS headers |
| Large File Upload Failed | Adjust client_max_body_size |
Kesimpulan
Mengonfigurasi Nginx sebagai reverse proxy adalah langkah penting menuju penerapan Odoo di lingkungan produksi. Dengan konfigurasi reverse proxy yang tepat, enkripsi HTTPS, dan pengaturan WebSocket, organisasi dapat memberikan akses yang aman dan andal ke sistem ERP Odoo mereka. Untuk lingkungan produksi, penguatan keamanan tambahan, pemantauan, cadangan, dan optimisasi kinerja disarankan..
Butuh Bantuan untuk Mengimplementasikan Odoo ERP?
DUO Digital Solusindo menyediakan layanan profesional untuk implementasi Odoo ERP, penyebaran server, optimisasi kinerja, kustomisasi, dan dukungan teknis.
Expert People. Smart Solutions. Trusted Partnership.