I have solved this by using proxy mode configuration by creating separate subdomain server config block:
#### AFTER MAIN CONFIGURATION SERVER {} BLOCK ADD THIS IN THE FILE
server {
listen [::]:443 ssl http2;
listen 443 ssl http2;
server_name subdomain.domain.com;
ssl_certificate /etc/letsencrypt/live/subdomain.domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/subdomain.domain.com/privkey.pem;
access_log /var/log/nginx/subdomain_odoo_access.log;
error_log /var/log/nginx/subdomain_odoo_error.log;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
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;
# Redirect longpoll requests to odoo longpolling port
location /longpolling {
proxy_pass http://odoochatserver;
}
location / {
proxy_redirect off;
proxy_pass http://odooserver;
}
location ~* /web/static/ {
proxy_cache_valid 200 90m;
proxy_buffering on;
expires 864000;
proxy_pass http://odooserver;
}
gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;
gzip on;
}