'Deploy UrlShortner to prodction

I am trying to create a urlshortner which would redirect the user to an external url.

I am using node express + nginx to host it.

My express routing is very simple and is as below:

router.get('/:code', async (req, res) => {

fetch code from db
return res.redirect(longUrl)

}

and my nginx conf looks like:

server {

    listen 443 ssl;
    listen [::]:443 ssl;

    ssl_certificate         /etc/ssl/cert/ssl.pem;
    ssl_certificate_key     /etc/ssl/cert/ssl.pem;
    
    server_name {server_name};
    

    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
        proxy_pass http://localhost:8080;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "keep-alive";
    }
}

This works well over http without nginx but when I introduce proxy using nginx it starts to redirect me to https://localhost/longUrl rather than https://longUrl

I also tried https module without nginx and I got the same result.

Any suggestions would be great, thanks.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source