Назад | Перейти на главную страницу

Плохой шлюз на 2 сайтах после того, как Certbot изменил файл Nginx site-conf одного из них

У меня плохой шлюз на 2 сайтах после того, как Certbot изменил файл Nginx site-conf одного из них.

Все ошибки отсутствуют nginx -t.

Только это приходит в tail /var/log/nginx/error.log:

2017/10/24 15:40:47 [ошибка] 27439 # 27439: * 125 connect () не удалось (111: соединение отклонено) при подключении к восходящему потоку, клиент: 66.249.69.71, сервер: domain.tld1, запрос: «GET / category /% D7% 9B% D7% 9C% D7% 9C% D7% 99 / HTTP / 1.1 ", восходящий поток:" fastcgi: //127.0.0.1: 9000 ", хост:" contfix.co.il "root @ benqzq: ~ #

Только это приходит в tail /var/log/nginx/access.log:

185.188.204.5 - - [24 / Oct / 2017: 15: 44: 13 +0000] "POST /xmlrpc.php HTTP / 1.0" 499 0 "-" "Mozilla / 4.0 (совместимо: MSIE 7.0; Windows NT 6.0)"

Это конфигурация сайта, которую я изменил с помощью Certbot:

server {
    root /var/www/html/contfix.co.il;
    server_name contfix.co.il www.contfix.co.il;

    location / {
        index index.php index.html index.htm;
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass 127.0.0.1:9000;
    }

    location ~ /\.ht {
        deny all;
    }

    location ~*  \.(jpg|jpeg|png|gif|ico|css|js|ttf|woff|pdf)$ {
        expires 365d;
    }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/contfix.co.il/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/contfix.co.il/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

    if ($scheme != "https") {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    # Redirect non-https traffic to https
    # if ($scheme != "https") {
    #     return 301 https://$host$request_uri;
    # } # managed by Certbot
}

Файл site-conf второго сайта, который я не решил заканчивать с помощью Certbot, остался прежним.

Оба сайта отлично работали до установки Certbot и работы с ним.

я пошел в nginx/conf.d/ssl но файлы там содержат ключи, а не то, с чем можно работать для отладки.

Как мне дальше отлаживать это?

Обновить

При использовании Certbot в моем домене я получил ошибку:

Could not open file: /etc/nginx/sites-enabled/default

Когда я сделал certbot renew --dry-run Я тоже получил это, но я не получил его только когда делал "обновление certbot".

Основная проблема заключалась в том, что CGI директивы, касающиеся моего сайта (отвечающего за PHP-зависимую обработку данных), как показано в моем файле site-conf, не были такими, какими они должны быть после внедрения SSL.

Это новый параметр, который работает:

location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

Что касается ошибки, которую я имел с деталтом, просто перейдите на сайты с поддержкой и удалите индексный код символической ссылки, называемый default. Таким образом, даже если у вас есть шаблон по умолчанию в sites-available, он не будет использоваться.