Ответы пользователя по тегу Nginx
  • Ошибка "mysqld: Disk is full writing '/var/tmp/#sql_3946_0.MAD' (Errcode: 28). Waiting for someone to free space...", как решить?

    1. кончилось место
    2. запусти мускуль проверь все БД особенно innodb, сделай проверку всех бд и таблиц
    если ошибки есть дамп всех бд.
    и толко после этого хоть что-то делай.
    дальше авторепаир опять же всех бд
    Ну и дальше уже веселуха если что-то покоцалось.
    Ответ написан
    Комментировать
  • Как сменить порт у httpd?

    нужно во всех конфигах в папке /etc/httpd поменять 443 порт на лбой другой.
    Вариант для отдельного файла
    sed --in-place --follow-symlinks 's/443/4443/g' /etc/httpd/ports.conf

    вариант для конфигов ( у вас может отличаться)
    find /etc/httpd/ -type f -exec sed --in-place --follow-symlinks 's/<VirtualHost \*:443>/<VirtualHost \*:4443>/g' "{}" \;

    ну или тупо ручками
    посмотреть места где есть упоминания можно просто так
    find /etc/httpd -type f -exec grep -l "443" {} \;
    рестарт
    netstat -ntpl | grep httpd
    ТОЛКО не забудь сделать бэкап!
    Ответ написан
  • Как написать динамический location и try_files в конфиге NGINX?

    трай файл вообще не нужно использовать
    поскольку все коды должна отрабатывать CMS.
    Если у вас apache+nginx
    error_page 401 403 404 405 500 502 503 = @fallback;
            location @fallback {
                    proxy_pass              http://127.0.0.1:82;
                    proxy_set_header        Host            $host;
                    proxy_set_header        X-Real-IP       $remote_addr;
                    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
                    }

    Если чисто nginx то там еще проще по аналогие сделайте.
    За то, как отдавать ошибку, должен отвечать сам сайт, как минимум у всех cms есть сове офомление 404
    Вы привели частный случай но на сайте может быть миллион тонкостей, и в любом раскладе их должна попытаться обработать cms
    Ответ написан
  • Как заставить сервер не отвечать на несуществующие сайты?

    Никак в прямом понимание слова.
    Тут нужно понять работу веб сервера
    классический http веб сервер уже давно в состояние держать неограниченное количество сайтов на одном айпи и на том же порту.
    Естественно это выходит за рамки стека TCP\IP
    Как следствие это костыль самого демона.
    Для такой работы демон читает http reffer выбирая из него имя домена, на основание этого он подставляет нужный конфиг.
    НО
    https требует ключи ДО того как по каналу пойдут данные!
    Как следствие такая схема просто физически не может работать.
    И веб сервер тут делает нечто.
    1. При первом же сайте на https у всех сайтов он появляется.
    посколкьу это просто открытый порт, не забывайте о этом.
    2. что-то там все-равно нужно отдать и веб сервер тут берет ближайшие по ключи которые он может найти ;)
    вы не задумывались зачем у апача 000-default.conf а не просто default.conf, ответ прост 000 идет первым ;(
    По этому удалять хоть что-то бессмыслен.
    что делать.
    Вам наоборот нужно в каждый сайт добавить .
    1. какой -либо клчь, дабы это может быть любой. даже самоподписанный ( можно один на все сайты).
    2 указать код ошибки например как коллега выше порекомендовал 403
    Ответ написан
    Комментировать
  • Как в nginx перенаправить https запрос на другой сервер (proxy_pass)?

    Как вы знаете apache и nginx умеет держать на одном порту и айпи сразу несколько сайтов, по сути имея костыль
    разбирая заголовки http referer.
    Онако задайте себе вопрос как можно получить этот рефери по каналу который еще не установлен?
    Собственно тут и ответ ;) хочешь https - в начале гони ключи ;) а потом все остальное
    Ответ написан
    Комментировать
  • При использовании proxy_pass скорость работы приложения замедляется в разы?

    1 sub_filter - возможно это проблема
    2. пинг с этого сервера до того а не с вашего компа
    3. если есть апачь попробуй http proxy может там удет по другому как минимум статистика будет.
    Ответ написан
    Комментировать
  • Что лучше для экономии оперативной памяти?

    Nginx+PHP-FPM
    Ответ написан
    Комментировать
  • Как правильно установить Let's enycript на NGINX?

    так кэп, смотри сюда
    1. сертификаты поставил
    server {
    
    ######################################################################
    ## Server configuration
    ######################################################################
            listen *:443 ssl http2;
                    server_name 3dpaneli.ru www.3dpaneli.ru   ;
            root /var/www/3dpaneli.ru/web;
    
    
    ######################################################################
    ## SSL configuration
    ######################################################################
    # recommended but not manditory directive
    # leave commented out unless you know what it is doing
    #more_set_headers 'Strict-Transport-Security: max-age=15768000';
            ssl on;
            ssl_session_cache  shared:SSL:10m;
            ssl_session_timeout 1h;
            ssl_protocols TLSv1.2 TLSv1.1;
            add_header Strict-Transport-Security "max-age=15768000" always;
            ssl_stapling on;
            ssl_stapling_verify on;
            ssl_prefer_server_ciphers on;
            ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK;
            ssl_certificate /var/www/clients/client19/web26/ssl/3dpaneli.ru-le.crt;
            ssl_certificate_key /var/www/clients/client19/web26/ssl/3dpaneli.ru-le.key;
            ssl_dhparam /etc/nginx/ssl/dhparam.pem;
    ###################################################################

    ......
    ssl_dhparam /etc/nginx/ssl/dhparam.pem; - не обязательно но для повышения класса сертификата нужно.
    Далее в браузере нажми на сертификат и посмотри все ли там норм тот ли домен зеленый ли он
    открой отладчик, и посмотри в консоли разработчика не сыпет ли mix_content, если да то устраняй.
    Ответ написан
    Комментировать
  • Почему certbot не может обновить сертификат?

    certbot renw
    Ответ написан
    Комментировать
  • Как настроить 301 редирект с верхнего на нижний регистр в WordPress?

    И в очередной раз спрошу зачем сей идиотский редирет ?
    1. В винде в отличие от линукс регистр не имеет значинея, а вот в линуксе на уровне файловой системы имеет.
    Так что вам прийдется исключить все реально существующие дирректории и каталоги и линки.
    2. покажите кейс скриншогтом когда у вас в метрике виден вход на такую страницу с ошибочным регистром урла.
    А потом мы вернемся к сеему идиотскому редиректу.
    Ответ написан
    Комментировать
  • Какую OC и веб-сервер выбрать для сайта?

    поставь битрикс вм, тебе ее за глаза хватит
    centos + bash скрипт, далее вам нужно будет поменять только mbstring... =0 и у вас будет отличная оптимизированная машина, со всемми nginx+apache
    https://www.1c-bitrix.ru/products/vmbitrix/
    для любой системы виртуализации
    ну а если вы ставите на машину то repos.1c-bitrix.ru/yum/bitrix-env.sh
    так
    Ответ написан
  • Как обновить SSL сертификат?

    А как ты думаешь зачем ему путь до сайта ? -w /var/www/webroot
    ты хоть маны почитай там же все написано
    ну и если уж совсем по русски хочешь почитать.
    https://losst.ru/kak-poluchit-sertifikat-let-s-encrypt#
    Ответ написан
  • В чем разница между статическими и динамическими данными WEB, на примере картинки во вложении?

    И да и нет
    1. статика в класическом виде jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|flv|mp3
    Как правило это именно физически имеющиеся файлы.
    НО
    Как вы понимаете не все эти файлы реально статика
    например .html может быть частью ЧПУ в таком случае вы не найдете этого файла на диске, посколкьу это ЧПУ
    И естественно его лучше не включать в статику, или добавлять доп проверку что файл существует.
    То же самое к sitemap.xml который может ЧПУ перекидывать на sitemap.php
    И даже Robots.txt - но это уже редкость.
    По этому нужно делать дополнительную проверку если фйл 404 то пытаться отдать его чере апач, а посколкьу это общее правило ко всем частным случаям то добавлять его в самом начале конфига.
    Динамика это то что собирает СМС, те урлы которые отдают 200 но на диске этих файлов нет.
    Вот кстати само ЧПУ проверяет нет ли физически таких файлов.
    <IfModule mod_rewrite.c>
      Options +FollowSymLinks
      RewriteEngine On
      RewriteCond %{REQUEST_FILENAME} !-f    #  Если это не файл
      RewriteCond %{REQUEST_FILENAME} !-l     #  Если это не линка
      RewriteCond %{REQUEST_FILENAME} !-d    #   Если это не директория 
      RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$ # Защита от цикла
      RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]  # то перекинуть  в пхп ( в данном случае это битрикс)
    </IfModule>

    Именно так движок разделяет статику и динамику, дуаю это ближайшее к определению.
    В таком раскладе физический файл пхп это статика а вот если его нет это динамитка
    Если .html - файл есть это статика - если его нет то динамика.
    Ответ написан
    Комментировать
  • Нужен веб менеджер htpasswd, что посоветуете?

    Ответ написан
    Комментировать
  • Почему сервер падает после нескольких перезагрузки страницы?

    shambler81
    @shambler81 Куратор тега Linux
    ЭТО НЕ УМНЯШЫ а дефолтные настройки apache или nginx, они дефолтные же лет как дцать. А технологии изменились, как и количество памяти и процов.
    Вам в лог смотрите там будет написано лимит чего вы привысили.
    Ответ написан
    Комментировать
  • Config apache + nginx для нагруженного проекта?

    shambler81
    @shambler81 Куратор тега Linux
    nginx+apache2+PHP-FPM

    spoiler
    nginx{

    ######################################################################
    ## Server configuration
    ######################################################################
    listen *:80;
    server_name test3.ks03.ru ;
    root /var/www/test3.ks03.ru/web;

    ######################################################################
    ## Log configuration
    ######################################################################
    #Все логи отключены
    error_log /dev/null crit;
    access_log off;

    ######################################################################
    ## Errors send to apache2
    ######################################################################
    # у апача своих алиасов куча, а так же некоторая статика отдается
    # средствамси php, по этому все ошибки обрабатывать только apache2
    error_page 401 403 404 405 500 502 503 = @fallback;
    location @fallback {
    proxy_pass http://127.0.0.1:82;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    }

    ######################################################################
    ## Locations configuration
    ######################################################################
    #Отключаем логирование ошибок No such file or directory
    ## Disable .htaccess files

    location ~ /\.ht {
    deny all;

    access_log off;
    log_not_found off;
    }
    ##
    location = /favicon.ico {
    log_not_found off;
    access_log off;
    }
    ##
    location = /robots.txt {
    allow all;
    log_not_found off;
    access_log off;
    }
    ##
    ######################################################################
    # сервисы на сайте phpmyadmin почта и letxencrypt
    location /phpmyadmin/ {
    deny all;
    }
    ##
    location /webmail/ {
    rewrite ^/(.*)$ https://$http_host:8080/$1 permanent;
    }
    # letsencrypt
    location /.well-known/acme-challenge/ {
    alias /usr/local/ispconfig/interface/acme/;
    default_type text/plain;

    }
    # static content
    # Отдаем статику напрямую с nginx
    location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|flv|mp3)$ {
    root /var/www/test3.ks03.ru/web;
    access_log off;
    expires 30d;
    }

    # default location
    location / {
    index index.php index.html index.htm;
    proxy_pass http://127.0.0.1:82;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

    }


    server {
    ######################################################################
    ## Server configuration
    ######################################################################
    listen *:443 ssl http2;
    server_name test3.ks03.ru ;
    root /var/www/test3.ks03.ru/web;

    ######################################################################
    ## SSL configuration
    ######################################################################
    # recommended but not manditory directive
    # leave commented out unless you know what it is doing
    #more_set_headers 'Strict-Transport-Security: max-age=15768000';
    ssl on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 1h;
    ssl_protocols TLSv1.2 TLSv1.1;
    add_header Strict-Transport-Security "max-age=15768000" always;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK;
    ssl_certificate /var/www/clients/client2/web2/ssl/test3.ks03.ru-le.crt;
    ssl_certificate_key /var/www/clients/client2/web2/ssl/test3.ks03.ru-le.key;
    ssl_dhparam /etc/nginx/ssl/dhparam.pem;
    ######################################################################
    ## Log configuration
    ######################################################################
    #Все логи отключены
    error_log /dev/null crit;
    access_log off;

    ######################################################################
    ## Errors send to apache2
    ######################################################################
    # у апача своих алиасов куча, а так же некоторая статика отдается
    # средствамси php, по этому все ошибки обрабатывать только apache2
    error_page 401 403 404 405 500 502 503 = @fallback;
    location @fallback {
    proxy_pass https://127.0.0.1:4443;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header HTTPS YES;
    }

    ######################################################################
    ## Locations configuration
    ######################################################################
    #Отключаем логирование ошибок No such file or directory
    ## Disable .htaccess files

    location ~ /\.ht {
    deny all;

    access_log off;
    log_not_found off;
    }
    ##
    location = /favicon.ico {
    log_not_found off;
    access_log off;
    }
    ##
    location = /robots.txt {
    allow all;
    log_not_found off;
    access_log off;
    }
    ##
    ######################################################################
    # сервисы на сайте phpmyadmin почта и letxencrypt
    location /phpmyadmin/ {
    deny all;
    }
    ##
    location /webmail/ {
    rewrite ^/(.*)$ https://$http_host:8080/$1 permanent;
    }
    # letsencrypt
    location /.well-known/acme-challenge/ {
    alias /usr/local/ispconfig/interface/acme/;
    default_type text/plain;

    }
    # static content
    # Отдаем статику напрямую с nginx
    location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|flv|mp3)$ {
    root /var/www/test3.ks03.ru/web;
    access_log off;
    expires 30d;
    }

    # default location
    location / {
    index index.php index.html index.htm;
    proxy_pass https://127.0.0.1:4443;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header HTTPS YES;
    proxy_set_header X-Forwarded-Proto https;
    include /etc/nginx/locations.d/*.conf;
    }
    ######################################################################
    ## Directives configuration
    ######################################################################

    }
    Ответ написан
    1 комментарий
  • Почему я не могу получить сертификат letsencrypt nginx?

    To fix these errors, please make sure that your domain name was
    entered correctly and the DNS A/AAAA record(s) for that domain
    contain(s) the right IP address.

    Чтобы исправить эти ошибки, убедитесь, что ваше доменное имя было
    правильно введен и запись (ы) DNS A / AAAA для этого домена
    содержат (ы) правильный IP-адрес.

    Что не понятного тут ?
    Ответ написан
  • В папке /etc/nginx лежит файл on. Занимает аж 28гигов. Что это? И как оптимизировать?

    скорее всего у вас там включено лоирование, или например в пути лога используется переменная, а это чисто текстовое значение, в результате путь остается "кривым" а в следствие этого создается файл лога прям тут, и в него весело все начинает писаться.
    Смело удаляйте этот файл и ищите кто его создает.
    Конфиг одного из сайтов в студию
    Плюс default.conf
    Ответ написан
    Комментировать
  • Как настроить редирект с http на https и с www на no-www?

    Кэп ну это же разные домены е ммае, неужеде не видно что там даже количество букв разное, с чего вы решили что между ними есть связь большая чем " так сложилось".
    Два домена и сертификат на два должен быть ;)
    Ответ написан
    3 комментария