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

    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 комментарий
  • Как закрыть прямой доступ к файлам в папке через .htaccess, но разрешить если есть ?key=secret?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteCond %{QUERY_STRING} !(^|&)key\=secret($|&)
    RewriteRule ^orders/1\..+$ http://test.ru/404.php [L,R=301]


    Если нет GET параметра key=secret
    То отправить куда-нибудь , например 404.php
    Ответ написан
    Комментировать
  • Правильный редирект на https | Конфиг или htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    Убираем

    RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
    RewriteRule ^(.*)$ http://%1/$1 [R=301,L]


    добавляем
    RewriteCond %{HTTP_HOST} !^www\.(.*) [NC] 
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
    Ответ написан
    Комментировать
  • Как изменить формат Url для пагинации с помощью .htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    а где вэ том урле логика
    например если было бы
    /vse?start=24 на vse/page/24 то все понятно, Но в вашем случае я не вижу как сделать правило.
    Если же у вас есть перечень урлов то это уже другое дело.
    Ответ написан
    Комментировать
  • Почему ошибка при редиректе?

    shambler81
    @shambler81 Куратор тега htaccess
    тут у меня есть примеры и того и другого.
    https://klondike-studio.ru/standards/standartnyy-h...
    Ответ написан
    Комментировать
  • Внезапно перестали работать сайты на Apache2, как найти проблему и исправить?

    1. перезагрузи апачь
    2. перезагрузи nginx
    3. перезагрузи mysql
    4 . логи апача
    5. открывается ли site.ru/robots.txt ( статические файлы )
    6 логи в студию.
    Ответ написан
    Комментировать
  • Как избавится от лишних символов в url после работы RewriteRule?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteCond %{QUERY_STRING} (^|&)art_id\=10($|&)
    RewriteRule ^article$ /article\?id=10 [L,R=301]


    Но наверное ID это некие цифры динамически меняющиеся в зависимости от урла так что сделаем регулярку на все цирфры сразу

    RewriteCond %{QUERY_STRING} (^|&)art_id\=([0-9]{1,})($|&)
    RewriteRule ^article$ /article\?id=%2 [L,R=301]


    Где ([0-9]{1,}) - цифри хотябы одна и более собираем их в группу и подставляем ее в рул через %2 поскольку это вторая група.
    Ответ написан
  • Как запретить просмотр директории?

    shambler81
    @shambler81 Куратор тега htaccess
    Просматривать через что ?
    через браузер вилно файлы ? - то это одна ошибка
    Можно открыть тело файла php - это другая ошибка
    Можно вообще зайти в эту папку - это другая ошибка

    Половина ответов можно найти просто забив их в поиске
    https://habr.com/post/165701/
    Ответ написан
    Комментировать
  • Как убрать наследование htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    Что-то вы парите какую-то дичь, вопервых наследоваться они не могут поскольку у каждого сайта свой документ рут, даже если они в подпапках.
    Во второых вложенный .htaccess перекрывает правила вышестоящего.
    Ну и да ответ будет такой, нужно перепилить vitrualhost сделать все как положено.
    Если нужно чтоб сайты лежали внутри друг друга, сделать симлинки и настроить на них.
    Ответ написан
  • Как правильно реализовать в mod_rewrite перенаправление?

    AddDefaultCharset utf-8
    RewriteEngine on
    RewriteBase /
    RewriteRule ^admin\/$ admin.php 
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php
    Ответ написан
  • Как сделать "переносимый" сайт в EXE?

    openserver
    denver
    Ответ написан
    Комментировать
  • Как развернуть два сайта на одном сервере?

    Апачь в состояние распознавать заголовки и на их основание подставлять нужный сайт.
    В результате этого можн на одном айпи и одном порту иметь миллион сайтов, это штатная вещь используется постоянно и везде.
    для этого используются virtualhost в котором определение идет по заголовку
    подробнее вам уже давали выше.
    Ответ написан
    1 комментарий
  • Кто разбирается в .htaccess и заголовках ответа?

    shambler81
    @shambler81 Куратор тега htaccess
    1. нет не будет, это небольшой конфиг, Но конечно он избыточен и с запасом.
    1.1 большую часть из написанного можно просто прописать в httpd.conf php.ini или vitrualhost собственно где им и место.
    2. тебе нужно понять что именно ты от него хочешь
    3. нужно тестировать скорость
    https://klondike-studio.ru/standards/standartnyy-h...
    Ответ написан
    Комментировать
  • Как делать rewrite в htaccess из папки на другой порт домена?

    shambler81
    @shambler81 Куратор тега htaccess
    Вам нужно пообщаться со злым админом ;)
    Или как вариант использовать домены 3 уровня, дабы они бесплатные ;)
    и вешать все ваше хозяйство на 80 порт
    Ответ написан
    Комментировать
  • Какую ОС изучать PHP программисту?

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

    1.max_execution_time - 30 - это беспрецидентно мало особенно для выгрузок и импортов с 1с, генерации чего, либо
    В любом случае его вам надо будет повысить, как минимум для долгих скриптов, а в некоторых случаях так и вовсе поставить -1
    Варианты.
    1. Выгрузка в 1с
    2. выгрузка на маркет
    3. Выгрузка в яндекс каталог
    4. Выгрузка на vk
    5. В некотрых случаях даже генерация sitemap
    6. Постобработчики
    7. Возможно некоторые агенты
    8. генерация чего угодно более 30 секунд

    На 99.999% уверен что ребут вообще никак не поможет, в лучшем случае вы убьете все зомби процессы, но это можно сделать и релоадом апача и mysql
    Ответ написан
    2 комментария
  • Как настроить под проект https сервер и apache?

    Используй letsencrypt уж чего чего а мануалы по его использованию расписаны на любой случай жизни
    Ответ написан
  • Редирект с http на https(+поддомены) и вылазит index.php. В чем причина?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteCond %{ENV:HTTPS} !on
    RewriteRule ^(.*)$ https://%1/$1 [L,R=301]

    А что на ваш взгляд должно делать это правило ?
    Особенно %1
    Ответ написан
  • Как настроить поддомены на Apache и bind9 в ubuntu?

    shambler81
    @shambler81 Куратор тега Linux
    Алиасы если для апачь как минимум
    Nginx + apache и динамический конфиг для nignx
    НО вам лучше задуматься о веб панели например ispconfig3 и vestacp
    Ответ написан
    Комментировать