Question
Nginx, SSL, multiple domains
Hi folks!
Have been straggling around nginx.conf for multiple domains.
This is what I have
1) 3 domains
2) SSL cert
3) Droplet
4) nginx
I want to redirect all https, https://www, http, http://www to one of the domain from these 3. Simply saying, all should go to just https://www.example.com
ssl_certificate /var/www/domain1.com/shared/ssl/bundle.crt;
ssl_certificate_key /var/www/domain1.com/shared/ssl/www_domain1_com.key;
ssl_verify_depth 3;
server {
listen *:80;
server_name www.domain1.com domain1.com www.domain2.com domain2.com www.domain3.com domain3.com;
return 301 https://www.domain1.com$request_uri;
}
server {
listen *:443 ssl;
server_name domain1.com www.domain2.com domain2.com www.domain3.com domain3.com;
return 301 https://www.domain1.com$request_uri;
}
server {
server_name www.domain1.com;
listen 443 ssl;
root /var/www/domain1.com/current/public;
access_log /var/www/domain1.com/current/log/nginx.access.log;
error_log /var/www/domain1.com/current/log/nginx.error.log info;
}
these above config does not have any configuration issues. nginx -t give “ok”.
But the problem is that all https requests (which are not from domain1.com) trying to shake ssl hands which is not true. they should 301-ing to www.domain1.com
I have tried doing some playing around in default config, seemed do not help!
any suggestions - would be great!
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
×
Hi. What block do we need to add to ensure no requests are taken directly from an IP number, a domain MUST be entered, or else return 444?
E.g. server {
listen 443 defaultserver;
servername “”;
return 444;
}
Unlike port 80 where the above method works, unfortunately this blocks all HTTPS requests no matter whether the domain is used or not. Thanks.