Я последовал эти шаги для CentOS 2.2, предполагая, что для малины Pi это должно быть похоже на похожие строки. Я потратил много времени на то, чтобы понять это, и для этого имеется очень мало документации. Дайте мне знать, если это поможет, иначе я могу помочь вам устранить проблему. Также надеюсь, что это поможет будущим читателям.
Для компиляции mod_proxy_tunnel.so
,
yum install httpd-devel
Скачать mod_proxy_tunnel.c
и скомпилировать его с помощью apxs -i -a -c mod_proxy_tunnel.c
Затем загрузите выше скомпилированного модуля в /etc/httpd/modules
:
Скопируйте mod_proxy_wstunnel.so
в /etc/httpd/modules
(Составитель сверху)
Для того, чтобы загрузить модуль во время запуска сервера, используйте LoadModule
директиву в HTTPD конф файле /etc/httpd/conf/httpd.conf
Добавьте следующую строку со всеми другими LoadModule линия
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
Чтобы перезапустить Apache Используйте service httpd restart
Чтобы проверить загруженные модули апача после перезапуска использования httpd -M
После модуля установлен, добавьте эти две строки в /etc/httpd/conf/httpd.conf
:
ProxyPass /websockets/mywebsocket ws://mywebsocketserver.com//websockets/mywebsocket retry=4
ProxyPassReverse /websockets/mywebsocket ws://mywebsocketserver.com//websockets/mywebsocket retry=4
Примечание: Убедитесь, что эти строки добавляются до случая по умолчанию /
. Также перезапустите apache, чтобы быть в безопасности.
Когда я это пробовал, после «sudo service apache2 restart» я получил следующее: apache2: Ошибка синтаксиса в строке 253 из файла /etc/apache2/apache2.conf: Ошибка синтаксиса в строке 1 файла/etc/apache2/mods -enabled/mod_proxy_wstunnel.load: Не удается загрузить /usr/lib/apache2/modules/mod_proxy_wstunnel.so в сервер: /usr/lib/apache2/modules/mod_proxy_wstunnel.so: undefined symbol: ap_proxy_canonenc - и поэтому не удалось выполнить «configtest». Есть идеи? –
Решением было то, что вам нужно скопировать не только mod_proxy_wstunnel, но и mod_proxy, как показано здесь: https://www.amoss.me.uk/2013/06/apache-2-2-websocket-proxying-ubuntu-mod_proxy_wstunnel/ –
В моем raspbian apache версии 2.4.10, но mod_proxy_wstunnel все еще недоступен. согласно документации apache, она должна быть там. Любая идея почему? – alexmogavero