Ваш редиеркт в целом верен, дело не в нём самом, вероятно.
У вас должны быть две отдельные секции server, одна из которых обеспечивает редирект на 80ом порту, вторая работу сайта на https. Возможно в этом проблема, раз при добавлении редиректа у вас отваливается и https?
server {
listen 80;
server_name sub1.mydomain.com sub2.mydomain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name sub1.mydomain.com sub2.mydomain.com;
...
}