先看下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 模块。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。