如何让Apache反向代理Web套接字连接?
我有一个聊天室应用程序,可以在本地主机上正常工作,但不能通过反向代理连接。
如何设置它以使其起作用?
<VirtualHost *:80>
ServerAdmin me@gmail.com
ProxyRequests off
DocumentRoot /var/www
ProxyPreserveHost On
ServerName 82.2.180.6
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
LogLevel error
<Location />
ProxyPass http://127.0.0.1:3050/
ProxyPassReverse http://127.0.0.1:3050/
Order allow,deny
Allow from all
</Location>
</VirtualHost>
答案 0 :(得分:3)
是的,它可能。我们使用Apache来反向代理websocket。
确保您的Apache使用模块构建: mod_proxy_wstunnel 。版本2.4.5之后支持哪个。
然后您只需要找出您的websocket使用的端口。
如果它也使用3050,那么你需要这样的东西:
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so
#***SKIPPED OTHER HTTPD CONFIG***
<Location />
ProxyPass ws://127.0.0.1:3050/
ProxyPassReverse ws://127.0.0.1:3050/
</Location>