apache 80端口转发

2,280 阅读1分钟

一、打开mod_proxy和mod_proxy_http模块

  1. 打开httpd.conf文件
  2. 以下三个模块前面的#去掉
#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端口的场景
  • 如发现转发失败,需检查服务端口是否已被占用