Skip ke Konten
Modern office building
Odoo Technical

Cara Mengonfigurasi Nginx sebagai Reverse Proxy untuk Odoo 18

4 min read 67 views
Share:

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 GatewayVerifikasi layanan Odoo dan port Verify Odoo service and port 8069
504 Gateway TimeoutPeriksa waktu pemrosesan Odoo dan waktu tunggu proxyCheck Odoo processing time and proxy timeout
WebSocket Connection FailedVerify port 8072, worker mode, and Upgrade headers
HTTPS Not WorkingCheck DNS, firewall, and SSL certificate
Redirect LoopVerify proxy_mode and forwarded HTTPS headers
Large File Upload FailedAdjust 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.