Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Nginx SSL/Subdomain/IP redirect

Tags:

nginx

centos7

at the moment I am running a website in nginx/1.6.3 on centOS7

Everything runs smooth, except some redirects.

This is what my .conf file looks like:

server {
  listen 443 ssl spdy default deferred;
  server_name .example.com;

  ... more configs

  }


server {
  listen 80;
  server_name .example.com;
  return 301 https://example.com$request_uri;
}

What I would like to accomplish are the following scenarios:

user visits in browser              | this should happen
------------------------------------|-------------------------------------
https://example.com$request_uri     | Just deliver content
https://*.example.com$request_uri   | 301 https://example.com$request_uri
https://123.123.123.123$request_uri | 301 https://example.com$request_uri
http://example.com$request_uri      | 301 https://example.com$request_uri
http://*.example.com$request_uri    | 301 https://example.com$request_uri
http://123.123.123.123$request_uri  | 301 https://example.com$request_uri
like image 317
tobi.g Avatar asked Jul 21 '15 00:07

tobi.g


1 Answers

Please check running with following config, this should work.

#This would serve all your content.
server {
  listen 443 ssl spdy default deferred;
  server_name example.com;

  ... more configs

}

#https calls to anything except example.com would be redirected here    
server {
  listen 443 ssl spdy default deferred; #(Can also use only : "listen 443;")
  server_name *.example.com 123.123.123.123;
  return 301 https://example.com$request_uri;
}

#All port 80 redirection to https://example.com
server {
  listen 80;
  server_name example.com *.example.com 123.123.123.123;
  return 301 https://example.com$request_uri;
}
like image 96
skbly7 Avatar answered Sep 17 '22 16:09

skbly7