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

    вы смотрите с точки зрения RFC TCP\IP
    не учитывая что это RFC разработано 60 лет назад и в мире сейчас костыль на костыле костылем погоняет
    С вашей точки зрения демон может отдать или на порт или на айпи
    но вы забыли про костыли ;)
    И так
    демон на одном порту он слушает ваш http referrer ( по сути спрашивает хост у вашего браузера на который вы зашли)
    роется в свих конфигах, ищет нужное знчение
    и подставляет этот конфиг.
    Это справедливо для всех сайтов кроме того когда он один, в таком случае он работает от "дефолта" то есть что то вроде мусорки по этому на него можно зайти как по айпи так и по любому доменному имени.
    Остальные сайты работают по принципу
    явно обьявленные домены в приоритете, если нет то отрабатывает дефолтный конфиг.
    Таким нехитрымм образом можно повешать любое количество сайтов на один айпи и тот же порт.

    Далее же маршрутизацией какой контент показать может быть на любом этпе
    прокся в веб сервере например nginx может иметь отдельные локейшины вплоть до геолокации и тд.
    или апачь то же самое mod_proxy
    в апаче можно через mod_rewrite + чпу сайта там вообще можно накрутить че хочеш.
    в общем дальше механизмы могут уже быть разные
    Ответ написан
    Комментировать
  • Почему возникает бесконечный редирект в Laravel?

    редирект на индекс и убрать индекс
    думаю собака зарыта тут кэп
    так же ест сервисы которые показывают всю цепочку редиректов https://bertal.ru/index.php
    думаю вам нужно поменять местами эти правила поскольку чпу после индекса изменит урл
    Ответ написан
    Комментировать
  • REQUEST_URI в Apache чему равен?

    название домена/REQUEST_URI?=GET
    МЕЖДУ ДОМЕНОМ И ГЕТ ЗАПРОСОМ
    Ответ написан
  • Проксирование в apache2 не работает как исправить?

    а что мешает тебе проксировать через php proxy дабы скрипт на гите всего строк 30
    отлично работает и не требует костылей в апаче ?
    Ответ написан
    Комментировать
  • Nginx proxypass cache и php, как правильно настроить?

    shambler81
    @shambler81 Куратор тега Linux
    в 99% случае было бы целесообразнй поработаь с кодом самого сайта это факт, улучшить систему кеширования переделать самые тяжелые запросы как правило при разрастание проекта такое не редко, и тут добиться производительности можно куда быстрей чем через костыли.
    так же не забывайте что если часть сайта не хотите кешировать то сделайте отдельный локейшен под эхто мероприятие.
    Так же есть особые рекомендации в индивидуальном порядке каждому движку.
    Так же не забывайте что даже смена версии пхп может сильно улучшить ситуацию опять же нужно смотреть что у вас, если вы на 5.6 то точно 100% да
    и даже если на 7.0
    не забывайте что так же у вас должен быть подключен opcache и качественно отстроены конфиги apache nginx и mysql это вам тоже должно дтаь отличный буст.
    до 50К посетителей сайт должен справляться на одном сервере без костылей.
    так что больше вводных
    какие версии че за по сслку на сайт ( это не сеерет, вы еще и за директ платите чтоб я ее узнал)
    Ответ написан
    Комментировать
  • Как исправить неправильный ответ сервера в параметре HTTP_HOST?

    это происходит из-за я так понимаю битрикс вм или nginx+apache конфигурации
    насколько я понимаю у вас на бэке стоит апачь на 9443
    и в nignx в location указан с портом
    и все работает нормальнона 80 порту
    В общем почему так происходит:
    То как должно быть
    http --> http
    https --> https
    то как настриивается во всех манах по nginx +apache
    http --> http
    https --> http и костыли по подмене протокола
    суть такого костыля остается на совести того кто его предложил но по факту появляются вот такие хосты, поскольку в переменную попадает и порт.
    ну и если у вас есть на сайте првоерки на каком протколе вы находитесь то подделав его на фронте бэк о этом точн не знает и множество еще мелких костылей такие как ошибки в htaccess поскольку тот с протоколами вообще замучивается ибо он видит и тот и тот сразу.
    исправьте ситуацию
    nginx https :443 --> apache :4443(например) и подставляем и туда и туда один и тот же сертификат.

    Вот так должно быть:
    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_pass              http://127.0.0.1:9443;
      proxy_set_header        Host            $host:9443;

    в общем ройте в эту сторону, подробней после реальных конфигов
    Ответ написан
    Комментировать
  • Как привязать поддомен к нужной папке в /home/папка/html в linux?

    shambler81
    @shambler81 Куратор тега Linux
    Поддомен с точки зрения хостинга не отличается от домена ничем, это отдельное доменное имя.
    Оно так же привязывается как и и обычный домен.
    https://youtu.be/R3MuX9sGLZs
    в папку /var/www/html - ведет "дефолтный хост" то есть это что то вроде дев нул но для веба, это мусорка сюда идет любой домен.
    Это сделано по двум причинам.
    1. быстрый старт поскольку веб сайт доступен по любому домену по любомму айпи и тд.
    поскольку этоот сайт не сортируется по доену"
    2. причина нужен собственно этот /dev/null
    А вот если ты хочешь создать второй сайт в твоем случае это поддомен, но разницы никакой.
    то мусорки уже не хватит и в хостах нужно будет указать явное соотношение домена и папки.
    Для этого нужно создать отдельный виртуал хост, собственно по идее сайт должен быть таким
    /var/www/html - мусорка тут лежит html файлик здрасти ты попал на сервер.
    /var/www/site.ru - сайт 1
    /var/www/site2.ru - второй сайт
    /home/site3.ru - сайт в другой папке и тд.

    как видишь сам /var/www/html не используется вообще.
    В общем смотри видео там все есть.
    Ответ написан
    Комментировать
  • Как правильно прописать 301 динамический редирект на Apache?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteCond %{QUERY_STRING} (?:^|&)page\=(.+)(?:$|&)
    RewriteRule ^cat/$ /cat/page/%1/? [L,R=301]


    где (?:^|&) - это или? или & а ?:исключает эту группу то есть она не становится $1
    (.+) - первая група 1 символ и более
    %1 - эквивалент $1 но уже из RewriteCond
    /?- удалить гет параметры

    Если page тоже переменная то укажи это в ТЗ
    Кнопочка отметить решенным находится чуть ниже поста
    Ответ написан
    Комментировать
  • Как проксировать только только URL?

    mod_proxy редко используют настолко что я бы не рекомендвал бы вообще ее юзать
    предлагаю вам сделать этот костыль чем-то более простым
    например в index.php
    закинтье php proxy ( дабы примеров на гите море и делается это в 3 строчки)
    собственно и все
    Ответ написан
  • Почему Апаче скачивает php файлы?

    <IfModule !php5_module> 
        <FilesMatch "\.php$">        
            Order allow,deny
            Deny from all     
        </FilesMatch>
    </IfModule>
    Ответ написан
  • Перехват ошибок Apache + Nginx?

    404 должен отработать движк CMS, как минимум он должен отдать футер хедер сайта, ну и саму 404 . собственно как должно сработать
    1. nginx - видит 404
    2. следовательно эта ошибка и обрабатывается отдельным локейшеном отдавая 404 на apache возможно он сможет найти файл или выполнить с другим кодом.
    3. он не находит и движок сайта отдает 404.
    только так.
    Ответ написан
  • Что нужно для установки сms на локальном пк?

    если винда то openserver или denver
    открыть порты на внешку
    купить айпи
    Ответ написан
  • Почему не запускается NGINX?

    ты не все удалил от апача у тебя он остался, висит демон посмотри кто слушает порт.
    2. если ты так слабо разбираешся в веб сервере то лучше ипользуй сборки с веб мордой
    vestacp ispconfig3 braynycp
    нет особого смысла все это делать руками, а тонкую подтройку можно сделать везде
    Ответ написан
  • Правило "И не =" для RewriteCond?

    RewriteCond %{HTTP_REFERER} ^(.*)\.google\.(.*) [NC]
    RewriteCond %{HTTP_USER_AGENT} !^.*googlebot.*$ [NC]
    RewriteRule ^(.*)/super-puper/$ https://example.org/?refcode=z910027635c38753 [L,R]

    Ну а отрицание просто отрицание!
    Ответ написан
    Комментировать
  • Какие подходы используются сейчас при построении веб-серверов?

    shambler81
    @shambler81 Куратор тега Linux
    И так что вам понадобится.
    1. поскольку разные движки и особенно старые вам нужно от хостинга
    а) php5.2(если реально для него что-то есть) php5.3 php5.4 php5.6 php7.0 php7.1 php7.1 php7.2 php7.3 php7.4 - FastCGI или mod_apache, при этом 5.2-5.3 компилить прийдется уже их тарболов, поскольку в репках их нет
    б) php7.0 php7.1 php7.1 php7.2 php7.3 php7.4 - PHP-FPM - эти со всеми видами представлений одной командой.
    в) nginx +apache - поскольку в старых сайтах переписывать .htaccess на чичтый nginx+FPM это маразм.
    г) сказал бы что virusdie подключеный на каждый сайт, но они сделали ребрендинг и подняли цену в 100 раз так что не увольте.
    однако делать с виурсами что-то нужно
    так что
    будем делать с вирусами
    1. su_exec вкл выкл для сайта - запрещяет функцию exec для старых сайтов она как правило не нужна.
    2. опен бейс дир смысла ставить нет.
    3. нужна моментальная система отката для старых сайтов, возможно просто накатывать бэкап раз в месяц ( если сайты уже статичны) это дешевле чем разбираться с каждым из них постоянно.
    4. Взять большое файловое хранилище или яндекс облако или hetzner там дешевые 10 тб хранилищя, примонтировать их через clifs и бэкапить туда все раз в месяц, удалять раз в 5 лет, тоже по крону.
    отдельно папку для почищены от вирусов сайто которая лежит всегда, и если сайт по какой-то причине просрался то нужно чтоб был ооочень старый бэкап помима обычных. Желательно где-то еще.
    5. старым сайтам должна быть возможность отключить почту, это можно сделать через настройки апача, главное в морду вывести.
    что-то вроде
    disable_functions=exec,passthru,shell_exec,system,proc_open,popen,curl_multi_exec,parse_ini_file,show_source,mail,apache_child_terminate, apache_setenv, define_syslog_variables, escapeshellarg, escapeshellcmd, eval, fp, fput, ftp_connect, ftp_exec, ftp_get, ftp_login, ftp_nb_fput, ftp_put, ftp_raw, ftp_rawlist, highlight_file, ini_alter, ini_get_all, ini_restore, inject_code, openlog, passthru, php_uname, phpAds_remoteInfo, phpAds_XmlRpc, phpAds_xmlrpcDecode, phpAds_xmlrpcEncode, popen, posix_getpwuid, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid, posix_setuid, posix_uname, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, syslog, system, xmlrpc_entity_decode, mail

    так же было бы неплохо собирать в лог файл какие конкретно файлы отправляют спам и с какой строки, поскольку это постояннго будет причиной бана адерсов, так что за этим нужно будет следить.
    mail.add_x_header = On
    mail.log = syslog
    В этом сулчае прям в сислог, но можн ои в отдельный файл, ну и в мониторинг его .
    Так же нужно будет следить за очередью почты, при резких пиках нужно будет реагировать.

    Возможно понадобятся curl mpdf zend_optimizer (php 5.2) zend guzrd_loader ( 5.3) ioncube.
    и тому подобные специические темы.

    лично я собираю все это на ispconfig 3
    плюс модуль nginx, плюс своя кастомка.
    600 сайтов полет нормальный.
    Так же было бы неплохо подключить какой-то антивирус и сканить систему что-то типа ai-bolit.php или веб серисы.
    НО у вас точно должна быть функция быстрого отката,а для совсем древиних сайтов так и по крону можно их ломают так часто что все вышесказанное мало поможет.
    для особо жопных сайтов можно перевести их в html
    хостинг должен поддерживать letsencrypt а так же нужно мониторить что сертификаты могут выдаться, как правило в 99% панелей если хоть один из сертификатов не выдался не выдадутся и остальные.

    Могу предожить vestacp
    braynicp
    biyrix vm
    все они ставятся с одного клика, у каждого есть свои плюсы и минусы.
    Ну или как вариант
    у яндекс в kubernetas есть возможность вобще бесплатно хостить html сайты, а для php сделать впс, там и бэкапы слайсов можно делать, и примонтировать местное храниллище.
    Ответ написан
  • Как правильно настроить apache?

    поставьте готовый веб ервер дабы они делаются в1 клик
    bitrix vm - 1 клик ставится с bash скрипта или готовая вм на выбор, консольная менюшка управлять легко.
    vestacp - ставится в 1 клик веб морда
    braynicp - веб морда в 1 клик
    ispcinfig3 - если хочется поковырятсья.
    Ответ написан
  • VPS. Как настроить правильно апач чтобы он открывал не localhost, а определенный урл?

    1. удалите эту машину для работы с чистым линуксом у вас не хватает опыта.
    2. поставьте bitrix VM
    или vestacp
    или braynicp
    или боже упаси ispmanager
    (все они ставятся в 1 клик)
    собственно всей этой лабудой они буудт заниматься за вас, а в производительности вы ничего не потеряете.
    И дело тут не в апаче а в том что на веб сервере десятки демонов и их нужно конфигурировать
    начиная от bind заканчивая letsencrypt кудка как проще взять уже работающую систему.

    Если же вам интересно поразбираться то ispconfig3 ( не путать с ispmanager)
    Cам же ваш вопрос:
    у вс не локалхост у вас есть конфиг default который исполняет функции /dev/null только для веб сайта, в котором прописан "любой домен".
    для вашего же сайта вам нужно указать домен явно.
    то есть вы создаете отдельный конфиг с отдельными настройками применяете его.
    После этого неразобраные запросы идут в дефолтный конфиг а то что вам нужно через явно обозначеный домен.
    Собственно все.

    Зайдя по любому домену который приведет на этот сервер и технических и обычных и айпи в добавок. вы попадете в местный дев нул. то есть в конфиг дефолта.
    Но если в укажете частный случай то по попадете на конкретный конфиг и он вам даст другой путь.
    ServerName naydikvartiru.ru
            DocumentRoot /var/www/naydikvartiru/data/www/naydikvartiru.ru

    Однако и конфиги могут отличаться в зависимости как у вас построен веб сервер есть ли там nginx виды представления php количество их версий и тд и тп.
    Ответ написан
  • Нужно ли настраивать FastCGI?

    shambler81
    @shambler81 Куратор тега Linux
    лучше всего сделать PHP-FPM это тот же FastCGI но немного быстрей и главное он отдает статусы процессов апачу.
    Что касается настроек то особо улучшить производительность относительно стоковых вы не сможете там плюс минус 10% в производительности так что можно сказат что нет не нужно настраивать.
    Ответ написан
    Комментировать
  • Как сделать чтобы была красивая ссылка в php?

    shambler81
    @shambler81 Куратор тега htaccess
    ЭТО называется ЧПУ
    blog.ox2.ru/php/hpu
    Ответ написан
    Комментировать