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

    shambler81
    @shambler81 Куратор тега Linux
    Можно вовсе обойтись без серверов, дешево и сердито.

    1. Качаем файлик
    2. в 404.php закидываем его в верх, до отдачи кода 404 проверяем урл на нужое нам условие вашем случае если в урле my-site.com/nc
    Ну и соответственно сервер1 проектируется на сервер 2 и отдает с него контент.
    Все. если же данного урла с той стороны тоже нет то отдаешь уже 404 как и всегда.
    Реально около 30 строчек кода.
    Ответ написан
    Комментировать
  • Динамическая переменная в .htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    Вше решение само по себе странное, бэк или должен иметь статический айпи или DNS пусть даже техническое.
    Третий вриант это явно костыли.
    Да на bash это будет одна строчка но это костыль притом какой-то конский.
    Может вы решите проблему с бэк серверами.
    Если это что-то серьезное там есть привязка днс
    если нет то с чего бы они меняли айпи ?
    если это домашняя заготовка, камон 100 рублей в месяц заплати за айпи.
    поверь костыль этого не стоит.
    Опиши более детально приину почему бэки меняются есть ли у тебя до них доступ, есть ли АПИ и как ты собирая отслеживать их динамические айпи пусть даже в теории.
    Ответ написан
    5 комментариев
  • Почему не работает реврайт?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteRule ^catalog/$ /catalog/all? [L,R=301]
    Ответ написан
    Комментировать
  • Как правильно настроить apache на www?

    ServerName domain.io
    ServerAlias www.domain.io


    кэп че там прокол забыл ?
    редирект убери пока
    Ответ написан
    Комментировать
  • Как создать поддомены в Vesta CP, что бы они вели в папку основного домена?

    тебе не нужен субдомен, тебе нужен алиас. он есть в настройках, сайта, просто через пробел укажи нужный тебе доменные имена .
    www это точно-тоже самое что ты хочеш, это тоже домен 3 уровня.

    1. создай нужный тебе домен 3 уровня в редакторе ДНС
    2. укажи алиас на основном сайте.

    web.png
    Ответ написан
  • Как сделать несколько доменов для одного проекта?

    ServerName test1.loc
      ServerAlias test2.loc www.test2.loc www.test1.loc
    Ответ написан
    Комментировать
  • Сайт в локальном домене и Apache/NGINX?

    господи ну на винде то можно и openserver поставить, смысл вот таких издевательств
    Ответ написан
  • Как развернуть локальный сервер Apache/Nginx на ноутбуке или ПК?

    охне выдумыайте велосипед
    vestacp
    braynicp
    ispconfig3
    bitrixvm ( тут центос)
    и тп
    1 клик и у вас все работает с вебо мордой и тд
    Вам же не nginx нужен а целая связка демонов.
    Ответ написан
    Комментировать
  • В чём главное различие между Nginx и Apache?

    разница в том что это совершенно разные проекты, общее между ними только html
    все остально еразное
    apache старый
    nginx поновее и в нем меньше обратной совместимости да и собран он уже со знанием что есть биг дата и тд.
    В общем он посвежее и побыстрее работать будет
    В nginx php интерпретируется сторонним демоном, это как правило php-fpm
    В апчье есть mod_apache - являсь модулем апача он работает быстрей лучше получает коды завершения и тд, но слишком сатрый и плохо параллелится маштабируется и с правами там трабылы, НО он самый частый до сих пор.
    Есть и дургие представления пхп FastCGI CGI PHP-FPM и тд. в общем для апача есть все
    nginx в свою очередь молодой и не все на нем работает сразу, поскольку большенство движков cms созданы под апачь, и требуется переписать htccess на правила nginx.

    nginx часто используют в связке с апачем как прокси сервер.
    статику отдает nginx динамику апач.
    так же nginx отлично балансирует бэк сервера в такой конфигурации да и собственный upstream есть , в общем при большом количестве серверов с ним лучше работать.
    ну есть nginx+ даже облачный есть.

    для изучения поставь связку nginx+apache+php-fpm
    это достаточно современная связка и заодно выучишь и то и то.
    А еще лучше поставь что-то вроде vestacp с таим расширение тут уже будет все нормально настроено и можно будет смело приходить к стадии изучения.
    Ответ написан
    2 комментария
  • Как настроить редирект страницы в htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    ну думаю вам нужно не выдумывать велосипед и поставить веб морду дабы они ставятся в 1 клик и все работает.
    самый простой вариант
    vestacp - ставится в 1 клик веб морда все умеет
    braynicp - очень много умеет но требует реальных знаний ибо интерфейс так себе тоже ставится в 1 клик
    ispconfig3 - отлинчный интерфейс богатый функционал ствится по манам да еще и сверху нжно накручивать nginx+apache для обучения само то да и юзаить приятнее всего но требует времени на установку.
    bitrixVM ставится в 1 клик консольная (псевдографическая) админка. ( нет ДНС сервера но он я так понимаю вам и не особо нужен) ( только центос 7)
    ZPanel - не ставил
    Все опенсорс ставится легко, нет смысла вам ковырять конфиги на таком уровне знаний.
    Ответ написан
    2 комментария
  • Как убрать слеш в конце домена?

    <code>RewriteCond %{THE_REQUEST} //
       # Проверяем, повторяется ли слеш (//) более двух раз.
    RewriteCond %{QUERY_STRING} !http(s|)://
      # Убедимся что это не урл в  GET
    RewriteRule .* /$0 [R=301,L]
       # Исключаем все лишние слеши.</code>

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

    1. в интернете включая тостер есть около 22 способов сделать редирект в .haccess подберите свой ( они все правлеьные но в связи с особенностями настроек вашей конфигурации веб сервера могут не работать или приводить к циклку, особено если у вас nginx+apache )
    2. вместо переменной куда подставьте явный сайт
    3. посмотрите цепочку редиректов что именно его не устраивает
    например https://site.ru:80 > https://site.ru:80 и так далее.
    это можно глянуть тут https://bertal.ru/index.php?a566754
    4. так же не забывайте что вам нужно и в самм wordpress поменять настройки
    wordpress-https-settings.jpg
    Ответ написан
  • Как реализовать запрет к сайту через IP и порт, а оставить доступ только по доменному имени?

    Все просто
    сайты не могут лежать по умолчанию на портах отличных от 80 и 443 в противном случае вам придется всегда дописывать порт но такого не происходит.
    и белых айпи на все сайты не напасешься
    А по стеку TCP\IP вам нужно или открыть другой порт для нового сайта или другой айпи, третьего не дано (кроме как накрутить костылей).
    Собственно Веб сервер делает костыль дабы можно было впинуть невпихуемое
    он разбирает http_referer вашего браузера, парсит в нем строку хост и на основание его подставляет ваш конфиг сайта с его путями и переменными
    таким образом можно на один порт повешать несколко сайтов и незапудать веб сервер.
    Однако причем тут ваша проблема.
    А при том
    1. у вас сайт лежит в папке /var/www и он единственный
    2. при инсталяции веб сервера у вас автоматически создается первый конфиг в котором имя сайта отсутствует или что-тио вроде такого - то есть любое вообще любое включая и айпи, это сделано для простоты первого старта, дешево и сердито и сразу работает.
    По хорошему этот конфиг должен вести на index.html - здрасти вы попали на сервер но что-то пошло не так с вашим доменом я его не нашел.

    А все остальные сайты должны иметь явно указадый домен.
    ....
     ServerName 3dpaneli.ru
     ServerAlias www.3dpaneli.ru
    ...


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

    добавь в .htaccess
    RewriteEngine On
    RewriteCond %{HTTPS} !on
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    Ответ написан
    Комментировать
  • Сайт по https:// открывает default сертификат/сайт. Как убрать это?

    гы щя разметаю
    ответ никак

    тут все просто
    Поскольку весь интернет это один большой костыль на костыле костылем погоянющий
    мы имеем в свое время небыло идеи в tcp/ip иметь что-то кроме цифр
    когда встал вопрос RFC уже был написан
    так что мы получили службу днс как костыль к буквенным айпишникам.
    Теперь когда встал вопрос о конечности IPv4 да и даже немного до этого в апаче встал воопрос как повешатьдва сайта на один порт и айпи
    что естественно не соответствует RFC или порт или айпи
    собственно нашлось отличное решение, апачь разбирает ТВОЙ http reffery (от браузера клиента) выбирает из него домен и на основание этого подставляет нужный тебе конфиг в соответствие с ServerName
    но потом появился еще один костыль SSL
    который занимает свой порт, теперь барабанная дробь.....

    Ты открыл порт 443 и повешал на него 1 сайт
    НО айпи открыт Порт открыт и это апач
    По какой причине при обращение по 2 домену он должен его послать в лес ?
    Как ты думаш по SSL что вначале? Gередача данных по каналу или ключь от него?
    правильно ключ.
    Следоватлеьно веб сервер физически не может знать послать ли тебя лесом или нет ибо рефери твой он не может забрать без ключа а ключа нет пока нет рефера.

    По этому
    как только у тебя на сервере появляется 1 сайт с ssl
    все остальные сайты тоже получают ssl
    Но ты скажешь я же не дал им ключа. Да только он не может по этому каналу ни байта информации получить включая че за сайт.
    И тут веб сервер делает ооооочень логичное решение.
    Он берет Ближайший ключ, ближайший по буквам например 000-default.conf
    берет эти ключи и вставляет их всем сайтам к которым он ключи не смог найти сразу-же.
    Вот такая логика брат.

    Что делать
    отключить ссл на 1 из сайтов физически не возможно
    Можно сделать следующее
    1 сертификат по сортировке имени должен быть дефолтным.
    и в дефолтном конфиге должно отдаваться код 400 на все запросы.

    не забудь поставить галочку что решено.
    Ответ написан
    4 комментария
  • КАК установить 2 ip вебсерверу?

    <VirtualHost *:80> если тебе нужны все айпи
    ну или вот так
    <VirtualHost 192.168.1.1 172.20.30.40>
    Ответ написан
    Комментировать
  • Какие права дать для пользователя Apache www-data?

    shambler81
    @shambler81 Куратор тега Linux
    chown -R www-data:www-data /var/www/site.ru
    но лучше всего делать следующий вариант
    запускать для каждого сайта апачь под своими юзерами
    тут все зависит от мода представления пхп
    Ответ написан
  • Как происходит перенаправление 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
    МЕЖДУ ДОМЕНОМ И ГЕТ ЗАПРОСОМ
    Ответ написан