Для простого перенаправления 301 мы могли бы использовать директиву return .
server {
listen 192.168.0.123:443 ssl;
server_name www.site.com;
ssl_certificate /srv/ssl/site_com.crt;
ssl_certificate_key /srv/ssl/site.com.key;
return 301 $scheme://site.com$request_uri;
}
Фактически это то же самое, что и ответ Алана, но с помощью директивы return мы может полностью избежать вычисления регулярного выражения .
Я предполагаю, что ваш сертификат SSL распространяется как на www.site.com, так и на site.com. Следующее может показаться наиболее подходящим способом решения этой проблемы?
server {
listen 192.168.0.123:443 ssl;
server_name www.site.com;
ssl_certificate /srv/ssl/site_com.crt;
ssl_certificate_key /srv/ssl/site.com.key;
rewrite ^ https://site.com$request_uri permanent;
}