@AnonDanon

Что я делаю не так с настройкой nginx + cloudflare ssl?

В общем решил накатить на сайт сертификат от Cloudflare, чтобы на 15 лет и не мучаться с обновлениями. До этого стоял Let'sencrypt. Всё установил на сервер, завёл - работает на default. Но как только я пытался подредактировать этот файл под работу с сертификатом Cloudflare, так ничего не выходит. Буду благодарен за помощь, вангую где-то просто парочку строк нужно поменять, но не могу понять где, я много какие варианты перепробовал, но всё безрезультатно

Это оригинал, от которого пляшу:
server {

  listen 80;
  server_name mydomain.com www.mydomain.com;
  root /var/www/vanilla;
  index index.php;

  location ~* /\.git { deny all; return 403; }
  location /build/ { deny all; return 403; }
  location /cache/ { deny all; return 403; }
  location /cgi-bin/ { deny all; return 403; }
  location /uploads/import/ { deny all; return 403; }
  location /conf/ { deny all; return 403; }
  location /tests/ { deny all; return 403; }
  location /vendor/ { deny all; return 403; }

  location ~* ^/index\.php(/|$) {
    include snippets/fastcgi-php.conf;
    fastcgi_param SCRIPT_NAME /index.php;
    fastcgi_param SCRIPT_FILENAME $realpath_root/index.php;
    fastcgi_param X_REWRITE 1;
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
  }

  location ~* \.php(/|$) {
    rewrite ^ /index.php$uri last;
  }

  location / {
    try_files $uri $uri/ @vanilla;
  }

  location @vanilla {
    rewrite ^ /index.php$uri last;
  }

}


Это то что я наплясал уже, один из вариантов. Не работает :/

server {

  listen 80;
  listen [::]:80;
  server_name mydomain.com www.mydomain.com;

  return 302 https://$server_name$request_uri;

  location ~* /\.git { deny all; return 403; }
  location /build/ { deny all; return 403; }
  location /cache/ { deny all; return 403; }
  location /cgi-bin/ { deny all; return 403; }
  location /uploads/import/ { deny all; return 403; }
  location /conf/ { deny all; return 403; }
  location /tests/ { deny all; return 403; }
  location /vendor/ { deny all; return 403; }

  location ~* ^/index\.php(/|$) {
    include snippets/fastcgi-php.conf;
    fastcgi_param SCRIPT_NAME /index.php;
    fastcgi_param SCRIPT_FILENAME $realpath_root/index.php;
    fastcgi_param X_REWRITE 1;
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
  }

  location ~* \.php(/|$) {
    rewrite ^ /index.php$uri last;
  }

  location / {
    try_files $uri $uri/ @vanilla;
  }

  location @vanilla {
    rewrite ^ /index.php$uri last;
  }

}

server {

# SSL configuration

listen 443 ssl http2;

listen [::]:443 ssl http2;

ssl        on;

ssl_certificate         /etc/ssl/certs/cert.pem;

ssl_certificate_key     /etc/ssl/private/key.pem;
server_name mydomain.com www.mydomain.com;
root /var/www/vanilla;
index index.php
}


https://justpaste.it/7a9e2 - /var/log/nginx/error.log

Огромное спасибо dodo512!
  • Вопрос задан
  • 321 просмотр
Пригласить эксперта
Ответы на вопрос 2
@AnonDanon Автор вопроса
Проблема точно не в CF, ибо по вот этой инструкции я уже создал 10 статических сайтов и все было ок. А вот с форумом не получается.
Ответ написан
Комментировать
Сделайте один server с портом 443 и сертификатом клауда, и на нем все настраивайте
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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