nginx серверная директива для любого домена - PullRequest
0 голосов
/ 06 февраля 2020

Использование этого шаблона для размещения сотен доменных имен. Вы просто создаете папку, используя домен, который хотите разместить в качестве имени, и все.

server {
    listen       80;
    server_name ~^(www\.)?(?<domain>.+)$;
    location / {
        root   /var/www/$domain;
        index  index.html index.php index.htm;
    }

Проблема возникает, когда я пытаюсь перенаправить все «www». и 'http' к 'https', добавив следующую строку: return 301 https://$domain$request_uri

Так что теперь весь шаблон выглядит следующим образом:

server {
    listen       80;
    server_name ~^(www\.)?(?<domain>.+)$;
    return 301 https://$domain$request_uri;
    location / {
        root   /var/www/$domain;
        index  index.html index.php index.htm;
    }
  1. Все доменные имена используют Cloudflare NS-серверы
  2. Опция Cludflare SSL переключена на «гибкий». Таким образом, обе версии сайта http и https могут обслуживаться. (невозможно выбрать «строгий» вариант, потому что в этом случае вы должны добавить сертификаты для каждого доменного имени, и это не вариант из-за их количества.)

Вопросы:

  1. Есть ли возможность каким-либо образом перенаправить весь трафик c на https без добавления сертификатов для каждого доменного имени?

  2. Если это не так возможно, как я могу просто перенаправить www. нет www?

...