Задать вопрос
Ответы пользователя по тегу Nginx
  • Как написать динамический 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
    Ответ написан
  • Как в 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гигов. Что это? И как оптимизировать?

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

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

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} ^(.+)/$
    RewriteRule ^(.+)/$ /$1 [R=301,L]
    Ответ написан
    7 комментариев
  • Какую ОС изучать PHP программисту?

    centos
    debian
    без GUI
    А лучшим вариантом будет это установить Ispconfig3 и поюзать сервер, включая понимание генерируемые конфиги.
    Ответ написан
    Комментировать