Apache модуль · 3 min read · Jan 01, 2026

Использование mod_spdy с Apache2 на OpenSUSE 12.2 (x86_64)

SPDY (произносится как “SPeeDY”) — это новый сетевой протокол, целью которого является ускорение работы в Интернете. Это альтернатива протоколу HTTP от Google и кандидат на HTTP/2.0. SPDY дополняет HTTP несколькими функциями, связанными со скоростью, такими как мультиплексирование потоков и сжатие заголовков. Чтобы использовать SPDY, вам нужен веб-сервер и браузер (например, Google Chrome и будущие версии Firefox), которые оба поддерживают SPDY. mod_spdy — это модуль Apache с открытым исходным кодом, который добавляет поддержку протокола SPDY к серверу Apache HTTPD. Этот учебник объясняет, как использовать mod_spdy с Apache2 на OpenSUSE 12.2.

1 Предварительная заметка

SPDY работает по протоколу HTTPS, поэтому нам нужен веб-сайт с поддержкой HTTPS для тестирования SPDY. Обратите внимание, что SPDY вернется к HTTPS, если браузер пользователя не поддерживает SPDY или если что-то пойдет не так, поэтому установка mod_spdy не повредит вашей существующей настройке.

Я предполагаю, что у вас есть рабочая установка LAMP, как описано в статье Установка Apache2 с поддержкой PHP5 и MySQL на OpenSUSE 12.2 (LAMP).

Прежде чем продолжить, нам нужно включить SSL в Apache:

a2enmod ssl
a2enflag SSL
systemctl restart apache2.service

Для тестирования я просто использую стандартный SSL веб-сайт, который идет в комплекте с пакетом Apache для OpenSUSE (вам не нужно делать это, если у вас уже есть SSL веб-сайт на вашем сервере).

Создайте самоподписанный сертификат для стандартного SSL vhost…

openssl genrsa -des3 -out /etc/apache2/ssl.key/server.key.org 4096
openssl req -new -key /etc/apache2/ssl.key/server.key.org -out /etc/apache2/ssl.crt/server.csr
openssl x509 -req -days 365 -in /etc/apache2/ssl.crt/server.csr -signkey /etc/apache2/ssl.key/server.key.org -out /etc/apache2/ssl.crt/server.crt
openssl rsa -in /etc/apache2/ssl.key/server.key.org -out /etc/apache2/ssl.key/server.key
chmod 400 /etc/apache2/ssl.key/server.key

… и включите стандартный SSL vhost:

cd /etc/apache2/vhosts.d  
cp vhost-ssl.template vhost-ssl.conf
systemctl restart apache2.service

Перейдите по URL стандартного SSL веб-сайта (например, https://www.example.com) и проверьте, работает ли он (я использую стандартный самоподписанный сертификат, поэтому у меня есть предупреждение о сертификате, но это не влияет на использование SPDY; также не беспокойтесь о ошибке 403 Forbidden - это происходит из-за отсутствия индексного файла в корне документа):

2 Установка mod_spdy

mod_spdy можно установить следующим образом:

zypper install http://download.opensuse.org/repositories/Apache/openSUSE_12.2/x86_64/apache2-mod_spdy-0.9.1.5-1.1.x86_64.rpm

(К сожалению, на момент написания этой статьи пакета mod_spdy для систем i386 нет, поэтому это работает только на системах x86_64.)

Далее создайте файл конфигурации mod_spdy /etc/apache2/conf.d/spdy.conf:

vi /etc/apache2/conf.d/spdy.conf

| LoadModule spdy_module /usr/lib64/apache2/libmod_spdy.so # Включите mod_spdy. Чтобы полностью отключить mod_spdy, вы можете установить # это значение в "off". SpdyEnabled on # Для поддержки одновременного мультиплексирования запросов через одно # соединение, mod_spdy поддерживает свой собственный пул потоков в # каждом дочернем процессе Apache для обработки запросов. По умолчанию # размер этого пула потоков очень консервативен; вы можете переопределить # его более высоким значением (как ниже), чтобы увеличить параллелизм, с # возможной ценой увеличения использования памяти. # #SpdyMaxThreadsPerProcess 30 # Использование памяти также может зависеть от максимального числа # одновременно открытых потоков SPDY, разрешенных для каждого клиентского # соединения. В идеале этот лимит должен быть установлен как можно выше, # но вы можете настроить его по мере необходимости, чтобы ограничить потребление # памяти. # #SpdyMaxStreamsPerConnection 100 |

Вы можете узнать больше о параметрах конфигурации на https://developers.google.com/speed/spdy/mod_spdy/install.

Перезапустите Apache после этого:

systemctl restart apache2.service

3 Тестирование

Теперь давайте проверим, работает ли SPDY. Нам нужен браузер с поддержкой SPDY, например, Google Chrome. Откройте Chrome и перезагрузите ваш SSL веб-сайт (например, https://www.example.com) - важно, чтобы вы его перезагрузили, чтобы он мог использовать SPDY (в первый раз, когда вы загружали его в главе 1, он использовал обычный HTTPS). После этого откройте новую вкладку и введите URL

chrome://net-internals/#spdy

Если все прошло хорошо, ваш SSL vhost теперь должен быть указан в таблице, что означает, что поддержка SPDY работает.

(Из-за механизма возврата SPDY к HTTPS ваш SSL vhost все равно будет работать в любом другом браузере, который не поддерживает SPDY.)

4 Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.