Apache中如何配置 ws 接口

发布于:2024-04-30 ⋅ 阅读:(26) ⋅ 点赞:(0)

Apache中如何配置 wss 接口

在Apache中配置WebSockets的支持,你需要使用mod_proxy_wstunnel模块,该模块是Apache的一个代理模块,它允许你代理WebSocket请求。

以下是配置步骤的简要说明和示例:

确保你的Apache服务器安装了mod_proxy和mod_proxy_wstunnel模块。如果没有安装,你可能需要安装它们。

在Apache的配置文件中(通常是httpd.conf或者在conf.d/目录下的某个文件),配置一个代理传递规则来转发WebSocket请求到相应的后端服务。

重启Apache服务以使配置生效。

在这里插入图片描述

# 在/usr/local/apache2/conf 中的httpd.conf ,在文件在最后添加该内容
# 确保mod_proxy和mod_proxy_wstunnel已经加载 
<IfModule mod_proxy.c>
  ProxyRequests Off
  <Proxy *>
    Order deny,allow
    Allow from all
  </Proxy>
  
  # 配置WebSocket代理传递
  ProxyVia On
  ProxyPreserveHost On
  
  # 转发到WebSocket服务的地址
  # ProxyPass /ws ws://your_websocket_server:port
  # ProxyPassReverse /ws ws://your_websocket_server:port
 # 转发到WebSocket服务的地址
  ProxyPass /wisdom/websocketTest ws://121.40.221.138:8080
  ProxyPassReverse /wisdom/websocketTest ws://121.40.221.138:8080
</IfModule>

Apache 配置 WebSocket 协议

本文使用 http proxy 方式 实现 apache 支持 WebSocket 请求(JK 使用的 ajp 协议不能支持websocket)
通过 apache 访问 后端 tomcat上的 websocket 服务,需要使用 mod_proxy.so 和 mod_proxy_wstunnel.so两个库文件(在apache2.4 安装目录下已存在,放开httpd.conf文件中的注释即可使用),如果应用中需要通过http协议访问某些页面(如index页面)则需要添加使用 mod_proxy_http.so,如下:

在/usr/local/apache2/conf 中的httpd.conf ,在文件中找到mod_proxy.so 、mod_proxy_wstunnel.so 、mod_proxy_http.so ,把前面的 #号注释去掉

   
      LoadModule proxy_module modules/mod_proxy.so  
      
    LoadModule proxy_http_module modules/mod_proxy_http.so  (可选)
      
    LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so  
   

Apache 配置 httpd ,中配置 监听端口

#Listen 12.34.56.78:80
Listen 80

#ServerName www.example.com:80
# ServerName localhost:80 //前端访问时,使用IP访问

ServerName www.pwx.com:80 //前端访问时,使用网址访问



网站公告

今日签到

点亮在社区的每一天
去签到