Ответы пользователя по тегу Nginx
  • Как в nginx подключать ssl если файл сертификата присутствует?

    server_name ~^(www\.)?(?.+)$; - это что за самодеятельность ? это ваще зачем?
    Во первых вы нарушаете философию самого nginx - сам создатель nginx не один раз говорил что !!!
    НАМЕРЕННО не вводил нормальное использование переменных в файлах конфигурации, поскольку куда как правельней 10 раз скопировать кусок файла нежеле забивать ее переменной, не обломится админ скопировать две строчки .
    И я вам могу сказать что он прав.
    2. Вы при генерации сайта все-равно какими-то средствами это делаете, ВЫ ЖЕ НЕ ПИШИТЕ ВСЕ РУКАМИ, ПРИ НАЛИЧИЕ МИЛЛИОНОВ ВЕБ ИНТЕРФЕЙСОВ?
    3. Если вам прям так не имется с проблеммой ввв, сделайте банально линку на папку c www,и не нужно изголяться.
    4. Работа с сертификатом и без него принципиально отличается, КАК МИНИМУМ тем что при обращению по http вначале получается имя домена а потом работа.
    ПО HTTPS вначале работают ключи а только после этого в этом канале можно получить хоть байт информации, включая имя сайта. так что не выдумывайте велосипед.
    Генерируйте конфиги для каждого сайта, а я бы еще рекомендовал отдельно для http и https в таком случае ошибка в одном из них не приводит к падению второго интерфейса.
    ну а дефолтный конфин нужно назвать 000-default... - где 000 говорит о том что он будет первым при выдачи ( посколкуь как я вам расписывал в пункте4 если сайт не имеет https о этом он физически может узнать только получив ключи, как следствие веб сервер возьмет " ближайшие" а сортировка у него именно по буквам ;) 00 просто первые ;)
    Ну и банальное удобство, разные сайты требуют доп изменений в конфигах.
    А следовательно куда в вашей модели их писать?
    Ответ написан
  • Как оптимизировать сервер под тяжелые скрипты с небольшим количеством пользователей?

    очень большая тема.
    В общем
    1. поставь bitrix vm - там 95% уже сделано
    увеличь время с 300 до 1500 в nginx и в принципе этого хватит.
    Ответ написан
    Комментировать
  • Welcome to nginx - как попасть на сайт?

    1. какая веб морда
    2. какие демоны еще
    3. конфиги apache
    4. 0.0.0.0 - че за айпи такой?
    Ответ написан
    Комментировать
  • Как включить лог для изображений в nginx?

    log_not_found off;
    Ответ написан
    Комментировать
  • BitrixVM. Push and Pull не работает. Сообщения не приходят в реальном времени. В чем проблема?

    вы включили его в консольной морде?
    как показывает практика это ... работает в папке www более уверенно чем в ext_www, особенно если у вас б24
    Ответ написан
    Комментировать
  • Как сделать аналог nginx регулярного выражения через htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    <IfModule mod_rewrite.c>
    Options +FollowSymLinks
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !/img.php?$
    RewriteRule ^(.*)$ /img.php? [L]
    </IfModule>

    как так, возможно еще нужно будет [L] заменить на [L,QSA]
    Ответ написан
    Комментировать
  • Как сделать правильный редирект/конфиг htaccess при apache/nginx reverse-proxy?

    если nginx не уверен всегда должен отработать апачь, те же 404 и тп отрабатывает как правило сама cms а не nginx по этому мы выделим это в отдельное правило error_page 401 403 404 405 500 502 503 = @fallback;
    а трайфайл вообще не используем

    server {
    ######################################################################
    ## Server configuration
    ######################################################################
            listen *:80;
            server_name bots.klondike.digital www.bots.klondike.digital   ;
            root /var/www/bots.klondike.digital/web;
    
    
    ######################################################################
    ## Enable gzip for proxied requests and static files
    ######################################################################
        # Enable gzip for proxied requests and static files
        gzip on;
        gzip_proxied any;
        gzip_vary on;
        gzip_http_version 1.1;
        gzip_types application/javascript application/json text/css text/xml;
        gzip_comp_level 4;
    
    ######################################################################
    ## 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;
                    # поставить пароль на phpmyadmin
                    return 555;
                    root  /usr/share/phpmyadmin/;
            }
            ##
            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/bots.klondike.digital/web;
                    access_log off;
                    expires max;
                    gzip_static on;
            }
    
    # 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;
           
    
    
    }
    Ответ написан
  • Почему не запускается nginx?

    expires 8d; - замени на expires max; - требования гугл пейдж спид.
    Теперь по пункткам
    1. journalctl -xe - вам уже написали
    2. nginx -t
    3. просо посмотри что в логе nginx
    Ответ написан
    Комментировать
  • Механика работы proxy_connect_timeout?

    60 мало, тем более 3
    В прокси конект таймаут войдет и ответ сервера с той стороны, а следовательно и запрос в msyql
    Если ответа не будет за это время то вы увидите ошибку, и nginx дропнит это обращение в 500
    если же тянуть кота за ....
    то 1 вариант и второй может сильно загрузить один из бэк в следствие чего 3 явно мало, а в последнем случае равномерно нагрузить бэки для таймаута намного тяжелее и есле сервер не ответил за 3, то перейти на следующий в следствие этого при переключение клиент не заметит просадки, поскольк3 это не 60
    НО как я и говорил вы должны быть 100% уверены что за 60 и тем более 3 может выполнится тяжелый хит.
    В вашем случае есть вариант не выполнения тяжелого запроса за 3 секунды и он как дурак побежит по серверам в надежде получить хоть что-то, в результате даст 3 тяжелых хита на сервера и сдохнет.
    Ответ написан
    Комментировать
  • Как исправить 504 Gateway Time-out?

    server {
    ######################################################################
    ## Server configuration
    ######################################################################
            listen *:80;
            server_name antar-dv.ru www.antar-dv.ru   ;
            root /var/www/antar-dv.ru/web;
    ######################################################################
    ## Enable gzip for proxied requests and static files
    ######################################################################
        # Enable gzip for proxied requests and static files
        gzip on;
        gzip_proxied any;
        gzip_vary on;
        gzip_http_version 1.1;
        gzip_types application/javascript application/json text/css text/xml;
        gzip_comp_level 4;
    
    ######################################################################
    ## 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;
                    root  /usr/share/phpmyadmin/;
            }
            ##
            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|svg|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/antar-dv.ru/web;
                    access_log off;
                    expires 30d;
                    gzip_static on;
            }
    
    # 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 antar-dv.ru www.antar-dv.ru   ;
            root /var/www/antar-dv.ru/web;
    
    ######################################################################
    ## Enable gzip for proxied requests and static files
    ######################################################################
        gzip on;
        gzip_proxied any;
        gzip_vary on;
        gzip_http_version 1.1;
        gzip_types application/javascript application/json text/css text/xml;
        gzip_comp_level 4;
    
    ######################################################################
    ## SSL configuration
    ######################################################################
            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/client40/web42/ssl/antar-dv.ru-le.crt;
            ssl_certificate_key /var/www/clients/client40/web42/ssl/antar-dv.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;
                    root  /usr/share/phpmyadmin/;
            }
            ##
            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|svg|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/antar-dv.ru/web;
                    access_log off;
                    expires 30d;
                    gzip_static on;
            }
    # 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;
                            }
    }
    Ответ написан
    Комментировать
  • Для каждого свой IP. Как?

    listen 192.165.55.2:80;
    Ответ написан
    Комментировать
  • Почему при HTTPS картинки увеличиваются?

    5cfa59fbb3194465079039.png
    К чему бы это
    Ответ написан
    Комментировать
  • Как исправить ошибку запуска nginx?

    1. у вас есть логи запускадемона
    2. удалите все сайты оставьте только чистый nginx убедитесь что все заработало. после этого вовращайте их на место можно просто постепенно можно выявлять принципиально ошибку.
    3. что говорит configtest, 99% вы накосяцили с конфигом сайта
    4. У вас апачь пытается запуститься на том же порту что и nginx
    Ответ написан
    Комментировать
  • Ошибка 502 nginx после обновления ssl сертификата?

    99% что дело не в самом сертификате
    по сути nginx не видит бэкэнда а тут миллион вариантов.
    нужны логи апачь и nginx
    Ответ написан
    Комментировать
  • Как в NGINX upstream проксировать несколько сайтов?

    да возможно.
    Ведь веб сервер разбирает заголовки http_referer
    Ответ написан
    Комментировать
  • Почему сайт не доступен с www, где может быть ошибка в nginx конфиге?

    дело не в nginx покажи днс записи домена
    Ответ написан
    Комментировать
  • Как сделать исключение для url, чтобы был доступен не по https, а по http?

    RewriteCond %{HTTPS} off
       # Проверяем наличие https в URL.
    RewriteCond %{REQUEST_URI} !/bitrix/admin/1c_exchange.php/$
    # ! - отрицание 
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
       # Перенаправляем протокол на http.

    Собственно заменяй свой редирект на https и все страница будет доступна
    не забыай что браузер сам кеширует https запросы и любит ним прицепляться но для обмена с 1с это не повредит.
    проверь онлайн сервисом ответа сервера убедись что 200
    Но лучше конечно поднять план обмена до новой версии, там этих костылей не нужно, он с легкостью работает на https
    Ответ написан