I am trying to redirect all the urls to example.com instead of www.example.com. It is working as expected when I type www.example.com and hit enter its redirecting to https: //domain.com. But when I type https: //www.example.com it is going to https: //www.example.com but I am trying to redirect it to https: //example.com. I followed some solutions to similar questions but didn't work. Following is my nginx config file.
upstream puma { server unix:///home/deploy/apps/myprod/shared/tmp/sockets/myprod-puma.sock; } server { listen 80; listen [::]:80; server_name example.com; return 301 https://$server_name$request_uri; } server { #listen 80 default_server deferred; #listen 80; listen 443 default ssl; server_name domain.com; ssl_certificate /etc/nginx/ssl/domain.com.chained.crt; ssl_certificate_key /etc/nginx/ssl/domain.key; root /home/deploy/apps/myprod/current/public; access_log /home/deploy/apps/myprod/current/log/nginx.access.log; error_log /home/deploy/apps/myprod/current/log/nginx.error.log info; #location ^~ /assets/ { #gzip_static on; #expires max; #add_header Cache-Control public; #} location ^~ /(assets|fonts|swfs|images)/ { gzip_static on; expires max; add_header Cache-Control public; } try_files $uri/index.html $uri @puma; location @puma { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://puma; } } Please can somebody tell what changes should I make to achieve this non www redirect