Home » How To » How to Redirect HTTP to HTTPS in Nginx Web Server

How to Redirect HTTP to HTTPS in Nginx Web Server

Nginx is an open-source, high-performance HTTP and reverse proxy server. This has become popular among many hosting providers. Everyone knows that transferring private data like credentials, payment information over insecure protocol is not secure. They can easily be sniffed by a MITM attacker. This tutorial will help you Redirect Incoming HTTP Traffic to HTTPS in the Nginx Web Server.

Redirect ALL to HTTPS

This will redirect all requests hits to port 80 except domains with separate server blocks. To do this edit the virtual host configuration file for your domain and add “return 301 https://$host$request_uri” statement under server section. This will redirect all the incoming requests on HTTP to corresponding https URLs.

server {
	listen 80 default_server;
	listen [::]:80 default_server;
	server_name _;
	
	return 301 https://$host$request_uri;
}

Redirect Specific Domain

You may want to redirect a specific domain to HTTPS. Use the following configuration on Nginx to redirect all HTTP requests on mytechmint.com to HTTPS.

server {
	listen 80 default_server;
	listen [::]:80 default_server;
	server_name mytechmint.com;
	
	return 301 https://$host$request_uri;
}

Leave a Comment