Jump to content

Traccar Reverse Proxy & SSL Encrypt: Difference between revisions

From Deffcon
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 12: Line 12:
== Instal Nginx ==
== Instal Nginx ==
  sudo apt update
  sudo apt update
  sudo apt install nginx -y
  sudo apt install nginx -y


== Konfigurasi Nginx untuk reverse proxy ==
== Konfigurasi Nginx untuk reverse proxy ==
[[File:Nginx File Configuration.png|thumb]]
Buat file konfigurasi baru untuk domain Anda di <code>/etc/nginx/sites-available/track.deffcon.com</code>:<syntaxhighlight lang="bash" line="1">
Buat file konfigurasi baru untuk domain Anda di <code>/etc/nginx/sites-available/track.deffcon.com</code>:<syntaxhighlight lang="bash" line="1">
server {
server {
Line 30: Line 30:
     }
     }
}
}
</syntaxhighlight>
</syntaxhighlight>'''PORT 8082''' adalah service traccar secara default
 
Kemudian aktifkan konfigurasi dengan perintah:
sudo ln -s /etc/nginx/sites-available/track.deffcon.com /etc/nginx/sites-enabled/
[[File:Nginx System Status.png|thumb]]
Cek konfigurasi & restart Nginx
sudo nginx -t
sudo systemctl restart nginx
 
 
== Tambahkan HTTPS dengan Let's Encrypt ==
Agar lebih aman, gunakan SSL via Certbot:
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d track.deffcon.com
kita juga perlu '''menyesuaikan konfigurasi Traccar''', terutama bagian <code>traccar.xml</code> agar sesuai dengan pengaturan domain dan proxy.
[[File:Traccar File Configuration xml.png|thumb]]
Buka file <code>traccar.xml</code>
 
Lokasinya biasanya ada di:
/opt/traccar/conf/traccar.xml
Periksa dan ubah bagian berikut:
<entry key='web.address'><nowiki>https://track.deffcon.com</nowiki></entry>
[[File:Traccar System Status.png|thumb]]
Simpan dan restart Traccar
sudo systemctl restart traccar
 
== Auto-Renewal SSL ==
Let's Encrypt sertifikat berlaku 90 hari. Certbot biasanya sudah otomatis membuat cronjob untuk perpanjangan.
 
Cek dengan:
sudo certbot renew --dry-run
 
== Uji Coba SSL ==
[[File:Traccar SSL Platform.png|thumb]]
Pergi ke alamat <code>track.deffcon.com</code> , apakah sudah terencrypt SSL atau belum.

Latest revision as of 13:49, 7 June 2025

Pastikan DNS domain sudah mengarah ke server

Pastikan track.deffcon.com sudah mengarah ke IP publik server Anda (103.250.10.5):

  • Login ke penyedia domain Anda.
  • Tambahkan record DNS type A:
    • Host: track
    • Value / IP: 103.250.10.5

Tunggu propagasi DNS beberapa menit (hingga 1 jam tergantung provider).

Instal Nginx

sudo apt update
sudo apt install nginx -y

Konfigurasi Nginx untuk reverse proxy

Buat file konfigurasi baru untuk domain Anda di /etc/nginx/sites-available/track.deffcon.com:

server {
    listen 80;
    server_name track.deffcon.com;

    location / {
        proxy_pass http://localhost:8082/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

PORT 8082 adalah service traccar secara default

Kemudian aktifkan konfigurasi dengan perintah:

sudo ln -s /etc/nginx/sites-available/track.deffcon.com /etc/nginx/sites-enabled/

Cek konfigurasi & restart Nginx

sudo nginx -t
sudo systemctl restart nginx


Tambahkan HTTPS dengan Let's Encrypt

Agar lebih aman, gunakan SSL via Certbot:

sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d track.deffcon.com

kita juga perlu menyesuaikan konfigurasi Traccar, terutama bagian traccar.xml agar sesuai dengan pengaturan domain dan proxy.

Buka file traccar.xml

Lokasinya biasanya ada di:

/opt/traccar/conf/traccar.xml

Periksa dan ubah bagian berikut:

<entry key='web.address'>https://track.deffcon.com</entry>

Simpan dan restart Traccar

sudo systemctl restart traccar

Auto-Renewal SSL

Let's Encrypt sertifikat berlaku 90 hari. Certbot biasanya sudah otomatis membuat cronjob untuk perpanjangan.

Cek dengan:

sudo certbot renew --dry-run

Uji Coba SSL

Pergi ke alamat track.deffcon.com , apakah sudah terencrypt SSL atau belum.