• Как настроить SSL сертификат на denwer?

    @rolion
    Сертификаты в системе нашёл легко, более того, я там уже несколько раз сегодня был )))
    Конкретно денверовские правда не увидел...
  • Как настроить SSL сертификат на denwer?

    @rolion
    А куда их денвер складывает? Я правильно понимаю алгоритм:
    1) Денвер после запуска смотрит проекты в папке home
    2) При включенном mod_ssl сервер проходится по проектам и используя шаблон выпускает локальные сертификаты?

    Если так, то они где-то должны быть...
  • Как настроить SSL сертификат на denwer?

    @rolion
    Блокирует касперский. Но даже добавляя в исключения сети в каспере домен site.ru, все браузеры страшно ругаются и не хотят пускать.

    Сведения о сертификате при клике на https:

    Нет доверия к этому корневому сертификату центра сертификации, поскольку он не найден в хранилище доверенных корневых сертификатов центров сертификации.

    Как так: без www всё гуд, а с www такие проблемы?
  • Как настроить SSL сертификат на denwer?

    @rolion
    Так. Что-то не то я натворил.

    Я всё это время после всех манипуляций проверял результат на сайт site.ru, который не срабатывал. Потом проверил другой свой проект, например site-2.ru, так вот там стоит ssl от денвера и всё прекрасно срабатывает. Убедившись, я всё поудалял что наустанавливал (Удалил сам OpenSSL, всякие файлы им сгенерированные, удалил сентр из доверенных в браузерах) и давай анализировать.

    В общем, моя сборка Денвера прекрасно генерит ключи, правда при первом переходе браузеры предупреждают о невозможности проверки центра сертификации и после принятия риска всё робит. Проблема с несколькими проектами на локалке - если вводить в браузере имя с www вначале, то сертификат в браузере есть, замочек есть в адресной строке, но пишет:

    Ваше подключение не защищено
    Безопасность вашего соединения снижена. Злоумышленники могут пытаться похитить ваши данные с сайта. Рекомендуется прекратить работу с сайтом.

    Причина:
    Самоподписанный сертификат Посмотреть сертификат

    И не появляется ссылка "Принимаю риск". А вот без www нормально. При том есть некоторые проекты, которые открываются с https как с www, так и без www. Сравнивал прописанные правила в vhosts.conf у апача - у всех проетов одинаковые, да и они генерятся по шаблону, там не может быть расхождений.

    Почему так может происходить, что у некоторых сайтов открывается с https и с www и без www, а у некоторых только без www?
  • Как настроить SSL сертификат на denwer?

    @rolion
    Вот спасибо! Уже ближе к истине!

    Сделал так в apache vhosts.conf:

    <VirtualHost site.ru>
      SSLEngine on
      DocumentRoot "Z:/home/site.ru/www"  
      ServerName "site.ru"
      ServerAlias "site.ru" "www.site.ru" 
      ScriptAlias /cgi/ "/home/site.ru/cgi/"
      ScriptAlias /cgi-bin/ "/home/site.ru/cgi-bin/"
    
    SSLCertificateFile "Z:/cert_files/site.ru/www.site.ru.crt"
    SSLCertificateKeyFile "Z:/cert_files/site.ru/www.site.ru.key"
     
      SetEnvIf User-Agent ".*MSIE [1-5].*" \
      nokeepalive ssl-unclean-shutdown \
      downgrade-1.0 force-response-1.0
     
      SetEnvIf User-Agent ".*MSIE [6-9].*" \
      ssl-unclean-shutdown
     
      <FilesMatch "\.(cgi|shtml|phtml|php)$">
          SSLOptions              +StdEnvVars
      </FilesMatch>
     
      <Directory "%hostdir%/cgi-bin/">
          SSLOptions              +StdEnvVars
      </Directory>
    </VirtualHost>


    Файлы www.site.ru.crt и www.site.ru.key выпустил до этого при помощи OpenSSL. Центр сертификации rootCA.crt добавил в доверенные в Хроме.

    Всё работает, только без www вначале адреса. А на реале изначально сайт с www в начале. Что где упустил - не пойму. При обращении на локалке к сайту без www, Хром сначала предупреждает о самоподписанном сертификате, но потом пускает. А если ввести с www, то пишет:

    Ваше подключение не защищено
    Безопасность вашего соединения снижена. Злоумышленники могут пытаться похитить ваши данные с сайта. Рекомендуется прекратить работу с сайтом.
    Причина:
    Самоподписанный сертификат Посмотреть сертификат

    Куда можно копнуть?
  • Как настроить SSL сертификат на denwer?

    @rolion
    Спасибо за ответ, но я уже запутался в конец.

    Смотрите есть сайт site.ru на VPS, там установлен платный ssl сертификат. Если я выпущу бесплатный (а разве можно Let’s Encrypt выпустить на локалке?), то как браузер заставить его видеть и как установить правильно именно для локалки?
  • Как настроить SSL сертификат на denwer?

    @rolion
    Добрый день. У меня Denwer, скачал со свежими конфигами тут: https://lred.ru/webmasteru/35802-kak-obnovit-php-n... Расширение ssl есть, оно подключено. Как теперь установить сертификат для домена?

    Я скачал OpenSSL, выполнил всё как тут: https://habr.com/ru/post/192446/

    Есть у меня теперь rootCA.crt, добавил его в доверенные центры Хрома. Всё равно при попытке открыть сайт с https выходит ошибка:

    Ваше подключение не защищено
    Безопасность вашего соединения снижена. Злоумышленники могут пытаться похитить ваши данные с сайта. Рекомендуется прекратить работу с сайтом.

    Я предполагаю, что нужно заставить apache при обращении к сайту https://www.site.ru с IP 127.0.0.1 подтягивать именно сертификат этого сайта на локалке, который подписан локальным центром сертификации. Как это сделать? Или не туда копаю? Подскажите пожалуйста.
  • Снова про кеширование запросов к БД, как сделать?

    @rolion Автор вопроса
    ThunderCat, Спасибо, да, буду пробовать и тестить скорость.
    Что посоветуете: чистый мемкешед или какой-нибудь класс-обертку?
  • Снова про кеширование запросов к БД, как сделать?

    @rolion Автор вопроса
    ThunderCat, Спасибо.

    С первым вопросом понятно, спасибо, обязательно закеширую даже мелкие запросы, которые очень часто дёргаются из базы. Если можно, то еще вопрос по первому вопросу ))) - что посоветуете: чистый мемкешед или какой-нибудь класс-обертку?

    По второму вопросу Вы меня не поняли. Я писал что сейчас у меня так и делается, т.е. запрос к базе только по 3-м символам, остальное на клиенте. Это работает, все гуд. У меня вопрос по этому запросу из 3-х символов. Получается, что скрипт проходит с %LIKE% из этих 3-х символов по 7 таблицам. Во всех 7-ми таблицах есть VARCHAR поле title. Я хочу выяснить, может мне не проходить лайком по всем 7-ми таблицам, а в начале скрипта вытащить title всех 7-ми таблиц, объединить в массив и закешировать. Затем, при следующем запросе к скрипту проверять наличие кеша и если он есть, то брать из него. А если в одну из 7-ми таблиц что-то добавляется или изменяется, то перезаписывать кеш. С общим массивом затем работать средствами PHP, т.е. форичем перебирать и в title смотреть вхождение подстроки поиска из запрашиваемых 3-х символов, например функцией stripos?
  • Снова про кеширование запросов к БД, как сделать?

    @rolion Автор вопроса
    ThunderCat, сможете подсказать по двум моментам:

    1) Если сравнивать скорость выполнения (не нагрузку на сервер) небольшой выборки из БД и складывания в массив стандартно, со скоростью выполнения подключения к Memchashed, проверкой на наличие и взятие оттуда если есть?
    Т.е. если сравнить скорость выполнения запроса к БД с городами (их там 320), затем перебираем строки и складываем в массив со скоростью взятия готового массива из Мемкешед если он там есть.
    Стоит или нет?

    2) Так как поиск у меня только по названиям компаний, товаров, категорий, подкатегорий и товарных групп, может не искать в каждой таблице при помощи %LIKE% вхождение подстроки из 3-х символов, а вытащить все названия по очереди, положить в один массив и закешировать при помощи Мемкешед. Затем, при обновлении или добавлении новой записи в БД кеш сбрасывать и перезаписывать. А поиск осуществлять перебором названий из этого массива и функцией, например stripos, смотреть, подходит ли нам строка или нет. Если подходит - оставляем и показываем пользователю, а если === false, то нет.
    Как считаете это будет быстрее чем 7 %LIKE% по таблицам в БД?
  • Снова про кеширование запросов к БД, как сделать?

    @rolion Автор вопроса
    Начал читать про индексы тут: мануал, если честно, ничего не понял. Сможете на пальцах объяснить или может подскажите где почитать?
  • Снова про кеширование запросов к БД, как сделать?

    @rolion Автор вопроса
    Ааааа, рано обрадовался! Сейчас подумал, поиск не идет по названию стран, городов, он идет по названиям категорий, подкатегорий, товарам и т.п. А там лучше все же использовать вайлдкард, так как, например, пользователь вбивает название товара "Джинсы". Нужно чтобы ему были показаны результаты "Детские джинсы", "Женские джинсы", "Джинсы больших размеров" и т.д. Т.е. все товары, где есть слово (точнее его начало при отправке запроса к БД) "джи". Конечно, можно в БД поправить все названия так, чтобы товар был всегда первым, а его свойство вторым, т.е. не "Детские джинсы", а "Джинсы детские", тогда можно использовать LIKE без процента впереди, но это такая заморочка, обхязательно где-нибудь пропустится.
  • Снова про кеширование запросов к БД, как сделать?

    @rolion Автор вопроса
    За первое предложение отдельное спасибо! Как я сам не досмотрел этот момент!!!!!

    Можно немного про индексы на текстовое поле? Сейчас по-старинке при создании таблицы делая структуру так: id (int(6) автоинкремент первичный ключ), title (varchar(100)) и еще несколько полей. Это в таблице категорий товаров. По ней также происходит поиск в поле title. Что можно сделать с полем title по вашему совету, чтобы ускорить по нему поиск?
  • Снова про кеширование запросов к БД, как сделать?

    @rolion Автор вопроса
    Насчет 2-х символов тоже уже начинаю сомневаться, думаю что сделаю 3 символа, значительно сократится выборка.
    10 вариантов не достаточно, так как это не подсказки поиска, а полноценный поиск. Пользователь начинает вводить запрос, страница прокручивается вверх, снизу до конца экрана появляется блок с прокруткой, в котором отображаются все варианты ответов. При вводе дополнительных символов поиск идет на JS, неудовлетворяющие поиску результаты скрываются. Даже кнопки "Искать" нет, сабмит по ентеру тоже отключил. Всё на лету тут же.

    Если брать и кешировать каждый запрос из 7-и на странице, то есть смысл это делать или нет при небольшой таблице, но которая очень редко меняется? Если таблица товаров, то ее можно минут на 5 кешировать, а вот категории товаров, города, страны - смело на час можно. Это будет иметь смысл или только при запросах к большим таблицам, в которых более 30-ти полей и более 10 000 записей?
  • Снова про кеширование запросов к БД, как сделать?

    @rolion Автор вопроса
    2 секунды между beforeSend и success функции ajax в JS. Т.е. время между передачей данных в серверную часть и получение обратно ответа. Визуально, при просмотре на сайте - то же самое.

    Проблема в том, что поиск по нескольким таблицам (6411, 30255, 39, 174, 948 строк) запросом LIKE '%".$query."%', а также, вытаскиваются еще несколько таблиц полностью (страны, города) и пакуются в массив. Затем, при формировании foreach-ом строк ответа, данные из массива стран, массива городов вставляются также в строки ответов.

    В общем на странице 7 запросов к БД. Каждый к разной таблице.
    Из-за того что поиск идет LIKE из двух символов, то вариантов ответов не мало, а сайт развивается, с каждым днем записей становится больше.