JustinBieber
@JustinBieber
Звизда

Почему не редиректит с https://www.site.ru nginx?

Заметил что поисковик схавал https://www.site.ru и офигел проста ), должно быть https://site.ru

Конфиг:

server {
    listen 80;
    server_name site.ru www.site.ru;
    rewrite  ^(.*) https://$server_name$1 permanent;
}

server {
    listen   443 ssl;
    server_name www.site.ru site.ru;
    ssl_certificate     /etc/letsencrypt/live/site.ru/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/site.ru/privkey.pem;

    access_log /var/www/site.ru/logs/nginx-access.log;
    error_log /var/www/site.ru/logs/nginx-error.log;

    location / {
	proxy_pass  http://127.0.0.1:81;
	include     /etc/nginx/proxy.conf;
    }

    location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js)$ {
	root /var/www/site.ru/public;
	    access_log off;
	    expires 10d;
    }

    location /phpmyadmin {
         root /usr/share/;
         index index.php index.html index.htm;
         location ~ ^/phpmyadmin/(.+\.php)$ {
            try_files $uri =404;
            root /usr/share/;
	    proxy_pass  http://127.0.0.1:81;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include /etc/nginx/fastcgi_params;
         }

         location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
            root /usr/share/;
         }
    }

    location /phpMyAdmin {
         rewrite ^/* /phpmyadmin last;
    }

}


Выручайте! :(
  • Вопрос задан
  • 628 просмотров
Пригласить эксперта
Ответы на вопрос 1
@kryvel
Системный администратор
потому что у Вас так написан rewrite
server_name site.ru www.site.ru;
rewrite  ^(.*) https://$server_name$1 permanent;


он редиректит с http на https сохраняя имя сервера

если хотите оставить rewrite, то нужно поменять на https://site.ru$1

но вообще для того чтобы все редиректилось только на https://site.ru нужно сделать вот так

server {
    listen 80;
    server_name site.ru www.site.ru;
   return 301 https://site.ru$request_uri;
}

server {
    listen   443 ssl;
    server_name www.site.ru;
ssl_certificate     /etc/letsencrypt/live/site.ru/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/site.ru/privkey.pem;

    return 301 https://site.ru$request_uri;
}

server {
    listen   443 ssl;
    server_name site.ru;
    ssl_certificate     /etc/letsencrypt/live/site.ru/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/site.ru/privkey.pem;

    access_log /var/www/site.ru/logs/nginx-access.log;
    error_log /var/www/site.ru/logs/nginx-error.log;

    location / {
  proxy_pass  http://127.0.0.1:81;
  include     /etc/nginx/proxy.conf;
    }

    location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js)$ {
  root /var/www/site.ru/public;
      access_log off;
      expires 10d;
    }

    location /phpmyadmin {
         root /usr/share/;
         index index.php index.html index.htm;
         location ~ ^/phpmyadmin/(.+\.php)$ {
            try_files $uri =404;
            root /usr/share/;
      proxy_pass  http://127.0.0.1:81;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include /etc/nginx/fastcgi_params;
         }

         location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
            root /usr/share/;
         }
    }

    location /phpMyAdmin {
         rewrite ^/* /phpmyadmin last;
    }

}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы