Apache reverse proxy

apache 配置 http 反向代理

先看下module,已经编译的有这些代理相关的,看名字就知道干嘛的。
-rwxrwxrwx 1 root root   122209 Aug  4  2017 mod_proxy.so
-rwxr-xr-x 1 root root    31726 Aug  4  2017 mod_proxy_connect.so
-rwxr-xr-x 1 root root    87170 Aug  4  2017 mod_proxy_ftp.so
-rwxr-xr-x 1 root root    84576 Aug  4  2017 mod_proxy_http.so
先全部加载到apache httpd.conf 里面,如下:
 LoadModule proxy_module       modules/mod_proxy.so       //基本
 LoadModule proxy_http_module  modules/mod_proxy_http.so  //http代理
 LoadModule proxy_connect_module modules/mod_proxy_connect.so     //socket代理

在v.host里面新增配置:

    <IfModule mod_proxy.c>
        ProxyRequests Off
        <Proxy *>
            Order deny,allow
            Allow from all
        </Proxy>

		    ProxyPass /tipnode http://localhost:8081/tipnode
		    ProxyPassReverse /tipnode http://localhost:8081/tipnode    //这个要写。路径映射跟上面一直,防止后台机器和apache之间重定向。
    </IfModule>

访问:curl 'http://127.0.0.1/tipnode/static/js/md5.js?v=1' 。 达到目的。

apache 配置 websocket 反向代理

var ws = new WebSocket("wss://example.com/aaa/bbb");

ws.onopen = function(evt) { 
  console.log("Connection open ..."); 
  ws.send("Hello WebSockets!");
};

ws.onmessage = function(evt) {
  console.log( "Received Message: " + evt.data);
  ws.close();
};

ws.onclose = function(evt) {
  console.log("Connection closed.");
};   

apache access_log如下:

100.1.2.3 - - [14/Dec/2018:15:09:45 +0800] "GET /aaa/bbb HTTP/1.1" 404 205 315 - 615628103 LIBoaYbUsMO0E2NyaC47XmWHvfI7jFZYYzy9KXu1GBg_ o0615628103 LIBoaYbUsMO0E2NyaC47XmWHvfI7jFZYYzy9KXu1GBg_

检查 header 发现,

apache并没有转发 upgrade 头,,,

搜了很多,尝试了很多都不行,发现貌似只有apache2.4以后,才支持 websocket的 proxy,,,涉及到 mod_wstunel 模块。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

JMeter使用技巧

在这此对新版本jmeter的学习+温习的过程,发现了一些以前不知道的功能,所以,整理出来与大分享。本文内容如下。 如何使用英文界面的jmeter 如何使用镜像...

5009
来自专栏沈唁志

宝塔面板设置禁止通过IP直接访问网站防止恶意解析

宝塔服务器管理是现在非常流行的一款免费的Linux管理应用,作为不想做过多运维操作的可以使用这个可视化操作

6193
来自专栏搜云库

基于 Spring Cloud 完整的微服务架构实战

基于 Spring Cloud 完整的微服务架构实战 本项目是一个基于 Spring Boot、Spring Cloud、Spring Oauth2 和 Spr...

7018
来自专栏SpringBoot 核心技术

第四十章:基于SpringBoot & Quartz完成定时任务分布式多节点负载持久化

41812
来自专栏AndroidTv

读书笔记--Android Gradle权威指南(下)前言笔记后记

1463
来自专栏实用工具入门教程

如何部署 Jenkins 服务

Jenkins是一个开源自动化服务器,可以自动执行持续集成和交付软件所涉及的重复技术任务。Jenkins是基于Java的,可以从Ubuntu软件包安装,也可以通...

1895
来自专栏王磊的博客

Spring Boot(九)Swagger2自动生成接口文档和Mock模拟数据

在当下这个前后端分离的技术趋势下,前端工程师过度依赖后端工程师的接口和数据,给开发带来了两大问题:

1812
来自专栏IT技术精选文摘

JMeter最多可以模拟多少测试用户数?

本文我们将讨论一个确切说没有准确答案的问题 - 即我们使用Apache JMeter™最多可以模拟多少用户来做测试? 像JMeter本身的限制一样,这样的限制因...

6227
来自专栏运维

ElasticSearch2.3/2.4升级到ElasticSearch5.0

注意最好用elasticsaerch-migration跑一下注意事项,我这里是抱着丢数据index的目的来升级的。

1532
来自专栏Samego开发资源

利用Java实现串口全双工通讯For RS232

1902

扫码关注云+社区