Архив метки: apache

Nginx как front-end к apache (апач через прокси nginx) FreeBsd

На одном из серверов пробую ускорить сайт на drupal + модуль Commerce. Mysql уже потюнил. Memcached установлен. Закешировано почти всё что можно. Но! тормозит.. Как жест отчаянья, попробую еще и через nginx пустить статику. Вдруг хоть чуток но полегчает..

1. В httpd.conf меням порт Listen с 80 на 8080. Тоже самое меняем в вирутальных хостах <VirtualHost *:8080>

2. Ставим nginx, ставим в автостарт

pkg install nginx
sysrc nginx_enable=yes

3. Правим файл конфигурации nginx (/usr/local/etc/nginx/nginx.conf)

SSL сертификат Let’s Encrypt во FreeBSD 10.x + Apache24

1) Ставим официальный клиент из портов

2) Получаем SSL сертификат

Сертификаты будут автоматически помещены в

3) Настраиваем Apache

Настройка сводится к изменению строчек в httpd-ssl.conf . Предполагается, что самоподписанный сертификат корневой, у вас уже установлен и сгенерирован.

 

4) В крон помещаем строчку на выполнение раз в месяц:

Совместное использование php 7 и php 5 на одном сервере Ubuntu 16.4

По умолчанию на последних версиях Ubuntu с ситемой ставится php 7. Однако до сих пор множество проектов не работают полноценно на этой версии.

1) Добавим репозитарий и установим php 5.6 и php 7.0 вместе

2) Переключимся на php 5.6

  • Apache:
  • CLI:

3) Переключимся на php 7.0

  • Apache:
  • CLI:

wss WebSocket через proxy apache

Возникла необходимость поднять соединение wss Websocket из браузера на странице с протоколом https. Причем сертификат для страницы — самоподписанный. Соответственно при первом заходе на такую страницу, браузер сообщает что страница не небезопасна и т.п. Когда пользователь соглашается, что согласен посетить данную страницу, открывается сайт, и скрипт на сайте пытается установить wss соединение с сервером по тому-же адресу, что и сам сайт. И соответственно не получается, т.к. пользователь страницы не одобрил это не безопасное соединение. Если он откроет в браузере ссылку вида https://websocketserver:8100, и согласится, то соединение будет установлено корректно. Но заставлять пользователя перед работой на сайте открывать еще одну страницу — бред. Можно поступить по другому: не заметно перенаправить соединение вида https://websocketserver/wss/ на ws://websocketserver:8100 . И вуаля — соединение теперь устанавливается без лишних вопросов.
Для того чтобы это всё работало, в настройках апача нужно включить модули: proxy_module и proxy_wstunnel_module. И в настройках сайта соответственно прописать чтото типа:

ProxyPass /chat/ ws://noc.dcedwedwe.ru:8100/
ProxyPassReverse /chat/ ws://noc.dcedwedwe.ru:8100/

Автоматическое создание поддомена в apache

Задача: избавиться от необходимости руками прописывать каждый домен в настройках Apache.

Решение: настроим apache так, чтобы он автоматически подхватывал доменное имя, и отдавал страницу из соотвествующей доменному имени папки:

1. Вкючаем модуль vhost_alias

2. Настраиваем основной кинфиг apache подобным образом образом:

 

3. Одно НО! Настроенный таким образом апач будет искать www.zxc.ru и zxc.ru в разных папках. Для устранения: в папке www.zxc.ru создадим .htaccess, который будет переадресовывать на zxc.ru: