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.
# 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:
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:
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 .