Apache, SPDY · 3 min read · Dec 27, 2025

Использование mod_spdy с Apache2 на CentOS 6.3

Использование mod_spdy с Apache2 на CentOS 6.3

Версия 1.0
Автор: Фалко Тимме
Следите за мной в Twitter

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

Я не даю никаких гарантий, что это будет работать для вас!

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

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

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

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

yum install mod_ssl openssl
openssl genrsa -out ca.key 4096
openssl req -new -key ca.key -out ca.csr
openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt
cp ca.crt /etc/pki/tls/certs  
cp ca.key /etc/pki/tls/private/ca.key  
cp ca.csr /etc/pki/tls/private/ca.csr
vi +/SSLCertificateFile /etc/httpd/conf.d/ssl.conf

| [...] SSLCertificateFile /etc/pki/tls/certs/ca.crt [...] SSLCertificateKeyFile /etc/pki/tls/private/ca.key [...] |

/etc/init.d/httpd restart

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

2 Установка mod_spdy

Сначала убедитесь, что at установлен:

yum install at

Google предоставляет пакеты Fedora/CentOS для mod_spdy на https://developers.google.com/speed/spdy/mod_spdy/. Просто загрузите правильный для вашей архитектуры (32- или 64-бит) на ваш сервер…

64-бит:

cd /tmp  
wget https://dl-ssl.google.com/dl/linux/direct/mod-spdy-beta_current_x86_64.rpm

32-бит:

cd /tmp  
wget https://dl-ssl.google.com/dl/linux/direct/mod-spdy-beta_current_i386.rpm

… и установите его следующим образом:

rpm -U mod-spdy-*.rpm

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

/etc/init.d/httpd restart

Хорошая новость в том, что mod_spdy не требует конфигурации, он работает из коробки!

(На самом деле, есть файл конфигурации, /etc/httpd/conf.d/spdy.conf, но настройки по умолчанию должны быть в порядке.

cat /etc/httpd/conf.d/spdy.conf

| LoadModule spdy_module /usr/lib64/httpd/modules/mod_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.

)

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.