Konfigurasi Nginx untuk reverse proxy dan pemetaan location url untuk backend springboot ada beberapa hal yang harus diperhatikan terlebih dahulu agar url yang diharapkan sesuai dengan keinginan. Pada bagian backend springboot harus diberikan context path yang sesuai dengan location url pada Nginx. Berikut langkah-langkah konfigurasi yang harus di lakukan :
1. Memberikan context path pada springboot.
server:
port: 8080
servlet:
context-path: /example
2. Membuat file konfigurasi Nginx seperti example.conf pada folder /etc/nginx/conf.d.
server {
listen 80;
server_name api.example.id;
access_log /var/log/nginx/api.example.id.access.log;
error_log /var/log/nginx/api.example.id.error.log;
proxy_http_version 1.1;
proxy_redirect off;
proxy_cache_bypass $http_upgrade;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Request-URI $request;
location /example/ {
proxy_pass http://192.168.1.10:8080/example/;
}
}
3. Restart service nginx lalu cek url yang dibuat sudah sesuai melalui domain.
systemctl restart nginx
Link Referensi :
https://tarunlalwani.com/post/nginx-proxypass-server-paths/
https://gist.github.com/soheilhy/8b94347ff8336d971ad0