Если Вы изменили всё корректно везде в конфиге, то редирект не нужен.
Получается, что Вы для:
server {
server_name site.ru www.site.ru;
***
}
Делаете редирект:
server {
server_name site.ru www.site.ru;
rewrite ^/(.*)$ https://site.ru/$1 permanent;
***
}
Т.е на себя же. Отсюда цикл.
Работало бы корректно, если бы для site.com vhost конфиг был бы:
server {
server_name site.com www.site.com;
rewrite ^/(.*)$ https://site.ru/$1 permanent;
***
}
Для site.ru {
server {
server_name site.ru www.site.ru;
***
}
PS: Звездочки, - остальная часть кода.