一、打开mod_proxy和mod_proxy_http模块
- 打开httpd.conf文件
- 以下三个模块前面的#去掉
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_wstunnel_module libexec/apache2/mod_proxy_wstunnel.so
二、添加转发配置
<VirtualHost *:80>
ServerAdmin pxbai@mobvoi.com
ServerName xxx.com
ServerAlias www.xxx.com
ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
RewriteRule .* ws://127.0.0.1:8080%{REQUEST_URI} [P]
</VirtualHost>
这样当用户访问 www.xxx.com,Apache就会代替用户进而访问http://localhost:8080,并把取回的http数据再转发给用户。
- 适用于当服务需要80端口的场景
- 如发现转发失败,需检查服务端口是否已被占用