'How to configure nginx to serve HTML files for viewing instead of downloading?

I want to configure nginx to server HTML files for viewing instead of downloading.

server {
    listen       5000;
    server_name  localhost;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    #location / {
    #    root   html;
    #    index  index.html index.htm;
    #}

    location = / {
        root /home/vagrant/own/base/assets;
        index index.html;
    }

    location = /login {
    #    root /home/vagrant/own/base/assets;
          alias /home/vagrant/own/base/assets/login.html;
    }

    location /index.html {
        root /home/vagrant/own/base/assets;
    }
}

This is my conf file, when I browse to /login, my browser tries to offer the file for download instead of viewing it. Thanks for your help.



Solution 1:[1]

    location = /login {
        default_type "text/html";
        alias /home/vagrant/own/base/assets/login.html;
    }

I think the approach above is effective, there maybe other answers.

Solution 2:[2]

just set new "types" for location:

location /saveonly/ {
     types  { application/octet-stream  html; }
     ...
}

Solution 3:[3]

Just in case someone can benefit from my mistake - I had deleted the default server from the nginx sites-enabled area and no matter what I did, the browser would download the index.html file instead of opening it. It made no difference what I did with mime types in the server block files. After finding a replacement copy online, and installing it in the sites-enabled directory, and restarting nginx, the problem went away.

Sources

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

Source: Stack Overflow

Solution Source
Solution 1 zimmer
Solution 2 Shayan Ghosh
Solution 3 padraig j houlahan