3 заметки с тегом

конфиг

Эгея. Как починить комментарии, если у вас Nginx

Если вы подняли блог на Nginx по документации Эгеи, то вероятнее всего у вас не работает авторизация через кнопки соц.сетей в комментариях. Даже если визуально всё работает, попробуйте авторизоваться там сами. Это критично, если у вас в настройках выбрано «комментировать могут только авторизовавшиеся пользователи», тогда вам даже не смогут написать про эту проблему.

Решение

  1. Обновляем одну строку в файле Nginx-конфига, соответствующего блогу на Эгее.
location / {
    log_not_found off;
    # Было:
    # try_files $uri $uri/ /index.php?go=$uri;
    # Стало:
      try_files $uri $uri/ /index.php?go=$uri&$query_string;
  }
  1. Перезагружаем веб-сервер.
$ nginx -s reload

Причина

Эгея обрабатывает все запросы путём пробрасывания через фронт-контроллер index.php. При этом первоначальный URI передаётся как GET-параметр «?go=».

Исходный запрос Обработанный запрос
/tags/ /index.php?go=/tags/
/all/how-web-works/ /index.php?go=all/how-web-works/
/sign-in-done/vk/?data={«user»: ...} /index.php?go=sign-in-done/vk/

В последнем случае исходный запрос уже содержит GET-параметры, которые до php не дойдут.

Подозреваю, что из-за этого же бывали баги с загрузкой и удалением уже прикреплённых в постах картинок.

ps.: большое спасибо Евгению Степанищеву, что обнаружил этот баг и не поленился написать мне на почту.

 Нет комментариев   12 мес   nginx   блог   конфиг   эгея

Эгея. Как добавить Яндекс Метрику и Гугл Аналитику

Чтобы добавить метрики в блог,

  1. создайте файл head-extras.tmpl.php;
  2. добавьте в него код обеих метрик, который можно получить в админках Yandex и Google;
  3. залейте файл на сервер с блогом в папку /путь/до/блога/user/extras.

Это специальная папка для добавочных шаблонов, которая сохранится даже при обновлении движка.

 2 комментария   1 год   google   yandex   блог   конфиг   метрика   эгея

Эгея. Редирект с http на https в Nginx

Предположим, вы хотите, чтобы блог http://blog.ru всегда открывался как https://blog.ru.

  1. Заливаем на сервер в папку /etc/ssl сертификат и ключ, которые вам предоставил регистратор SSL-сертификата:
    /etc/ssl/blog.ru.crt
    /etc/ssl/blog.ru.key
  2. Редактируем файл конфига вашего блога /etc/nginx/sites-enabled/blog.ru
    # Включаем редирект http на https
    server {
        listen 80;
    
        server_name blog.ru www.blog.ru;
        return 301 https://blog.ru$request_uri;
    }
    # Настраиваем обработку HTTPS
    server {
      listen 443 ssl;
      ssl_certificate /etc/ssl/blog.ru.crt;
      ssl_certificate_key /etc/ssl/blog.ru.key;
      server_name blog.ru www.blog.ru;
      ... 
      # остальные конфиги сервера, которые были в разделе HTTP
    }
  3. Перезагружаем nginx в консоли сервера:
    $ nginx -s reload
  4. Заходим на https://blog.ru/@sync/ для чистки кэша. Без этого браузер будет по https://blog.ru показывать статус «No secure».
 Нет комментариев   1 год   блог   конфиг   эгея