I would like to redirect all traffic from the following domains:
http://domain.comhttp://www.domain.comhttps://domain.com
to
https://www.domain.com
I have a SSL certificate for the above domain. It hosts a Rails app, served by Passenger.
To accomplish the naked domain redirect, I've set up an URL redirect in my DNSimple account:
URL domain.com 3600 https://www.domain.comMy server blocks are as follows (Inspired by Nginx no-www to www and www to no-www amongst others):
server { listen 80; listen 443; server_name domain.com; ssl on; ssl_certificate /etc/ssl/domain-ssl.crt; ssl_certificate_key /etc/ssl/domain.key; ssl_session_timeout 5m; ssl_protocols SSLv2 SSLv3 TLSv1; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; server_tokens off; access_log /dev/null; error_log /dev/null; return 301 https://www.domain.com$request_uri;}server { listen 443 ssl; server_name www.domain.com; root /home/deploy/app/current/public; passenger_enabled on; passenger_app_env production; passenger_set_cgi_param HTTP_X_FORWARDED_PROTO https; ssl on; ssl_certificate /etc/ssl/domain-ssl.crt; ssl_certificate_key /etc/ssl/domain.key; ssl_session_timeout 5m; ssl_protocols SSLv2 SSLv3 TLSv1; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on;}passenger_pre_start https://www.domain.com;What works:
- naked domain gets redirected to secure
https://www http://wwwdomain gets redirected to securehttps://wwwhttps://www works
What does't:
- Naked
https://doesn't work, browsers throws a server not found
Basically I want to redirect all traffic to the secure https://www.domain.com. What am I missing here?