Helpdesk

Konfigurasi Nginx sebagai Proxy terminasi SSL

di ubuntu 18.04


Pastikan Anda telah memenuhi persyaratan berikut sebelum melanjutkan dengan bagian ini: Nama domain menunjuk ke IP server publik Anda.

1.Dalam tutorial ini kita akan menggunakan example.com,anda harus mengganti dengan domain anda sendiri. Jika belum punya domain silahkan register dulu.
2.Nginx sudah diinstal. Klik disini untuk install nginx jika anda belum lakukan.
3.Order ke layanan Sertifikat SSL untuk domain Anda. Anda dapat memasang sertifikat Enkripsi SSL gratis  jika belum ada.
4.Lakukan perintah berikut  untuk generate CSR dan Key dari sisi server :

   openssl req -x509 -nodes -sha256 -days 365 -newkey rsa:2048 -keyout yourdomain.com.key -out yourdomain.com.crt

Setelah menjalankan command tersebut maka akan ada file namadomain.key dan namadomain.csr pada folder dimana Anda berada saat ini. 
Untuk verifikasi nya :

openssl x509 -noout -text -in yourdomain.com.crt


5.Langkah selanjutnya jika anda sudah mendapatkan file2 dari penyedia jasa SSL ,lakukan langkah berikut :

   -Jika anda mendapatkan 3 file ,domain.crt , intermediate.crt dan root.crt :

     cat your_domain.crt intermediate.crt root.crt >> ssl-bundle.crt 

   -Jika file intermediate sudah bersatu dengan file bundle :

    cat your_domain.crt your_domain.ca-bundle >> ssl-bundle.crt

6.Pindahkan file ssl-bundle.crt dan file namadomain.key  ke directory khusus ,misal /etc/ssl dsb.

Buka editor dan ikuti langkah berikut :

sudo nano /etc/nginx/sites-enabled/example.com
Copy dan Paste kode dibawah ini ke file example.com , example.com diganti dengan nama domain mu.

/etc/nginx/sites-enabled/example.com
# Odoo servers
upstream odoo {
 server 127.0.0.1:8069;
}

upstream odoochat {
 server 127.0.0.1:8072;
}

# HTTP -> HTTPS
server {
    listen 80;
    server_name www.namadomain.com  namadomain.com;

    ##include snippets/letsencrypt.conf;
    return 301 https://namadomain.com$request_uri;
} # WWW -> NON WWW server { listen 443 ssl http2; server_name www.namadomain.com;
ssl on; ssl_certificate /etc/nginx/ssl/namadomain.com/ssl-bundle.crt;
ssl_certificate_key /etc/nginx/ssl/namadomain.com/namadomain.com.key;
 ssl_prefer_server_ciphers on; return 301 https://namadomain.com$request_uri;
} server { listen 443 ssl http2; server_name namadomain.com;
proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; # Proxy headers proxy_set_header X-Forwarded-Host $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; # SSL parameters ssl_certificate /etc/nginx/ssl/namadomain.com/ssl-bundle.crt;
ssl_certificate_key /etc/nginx/ssl/namadomain.com/namadomain.com.key;
# include snippets/ssl.conf; # log files access_log /var/log/nginx/odoo.access.log; error_log /var/log/nginx/odoo.error.log; # Handle longpoll requests location /longpolling { proxy_pass http://odoochat; } # Handle / requests location / { proxy_redirect off; proxy_pass http://odoo; } # Cache static files location ~* /web/static/ { proxy_cache_valid 200 90m; proxy_buffering on; expires 864000; proxy_pass http://odoo; } # Gzip gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript; gzip on; }
 

Jika sudah selesai restart nginx dengan sintak berikut :

sudo systemctl restart nginx

Selanjutnya, kita perlu memberi tahu Odoo bahwa kita akan menggunakan proxy. Untuk melakukannya, buka file konfigurasi dan tambahkan baris berikut:

/etc/odoo-service.conf
proxy_mode = True

Restart service odoo supaya efek perubahannya terlihat.

sudo systemctl restart odoo-service

Pada titik ini, server anda sudah dikonfigurasikan dan anda dapat mengakses instance Odoo di:  https://example.com

Ubah antarmuka yang mengikat.

Langkah ini opsional, tetapi ini merupakan praktik keamanan yang baik.

Secara default, server Odoo mendengarkan port 8069 di semua antarmuka. Jika Anda ingin menonaktifkan akses langsung ke instance Odoo Anda, Anda dapat memblokir port 8069 untuk semua antarmuka publik atau memaksa Odoo hanya mendengarkan pada antarmuka lokal.

Dalam panduan ini, kami akan mengonfigurasi Odoo hanya untuk mendengarkan pada 127.0.0.1. Buka konfigurasi, tambahkan dua baris berikut di akhir file:

/etc/odoo-server.conf
xmlrpc_interface = 127.0.0.1
netrpc_interface = 127.0.0.1

Simpan konfigurasi nya dan restart odoo server agar perubahannya berpengaruh:

sudo systemctl restart odoo-server

Terimakasih .