通过 Apache 代理访问 Node.JS, 共享80端口
2014-12-30 23:30
891 查看
1,首先确保 httpd.conf 加载了mod_proxy.so,mod_proxy_http.so 二个模块,但是我的服务器安装的时候是通过WDCP OS部署的,所以配置中缺少这两个模块,这也是耗费我不少时间的地方
LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_http_module modules/mod_proxy_http.so
下面我们要自己手动编译这两个模块:
./apxs -i -a -c ~/lanmp/httpd-2.2.24/modules/proxy/mod_proxy.c ~/lanmp/httpd-2.2.24/modules/proxy/proxy_util.c
./apxs -c -i -a ~/lanmp/httpd-2.2.24/modules/proxy/mod_proxy_http.c
编译完成以后,LoadModule 的两行配置文件已经自动插入到了 httpd.conf 中。注意这里 ~/lanmp/httpd-2.2.24/modules/proxy/proxy_util.c ,在编译 mod_proxy.c 要和 proxy_util.c 一起编译,否则 service httpd reload 的时候会报错
httpd: Syntax error on line 55 of /www/wdlinux/httpd-2.2.24/conf/httpd.conf: Cannot load /www/wdlinux/httpd-2.2.24/modules/mod_proxy.so into server: /www/wdlinux/httpd-2.2.24/modules/mod_proxy.so: undefined symbol: ap_proxy_location_reverse_map
2,配置apache的一个虚拟机
<VirtualHost *:80>ServerName a.yourdomain.com
ProxyPreserveHost on
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
</VirtualHost>
注意 : / http://localhost:3000/ 的斜杠都是要的,不是我写错了。
3,重新加载服务
service httpd reload相关文章推荐
- nginx、apache实现代理功能与直接访问node.js站点
- Apache2.4(httpd)配置多个虚拟目录,分别设置代理访问Node.js
- node.js通过msnodesql访问SQL Server
- Node.js Npm设置代理访问
- apache 反向代理的时候,通过域名访问是,出现跳转到ip或者无权访问的情况
- 安装下载node.js通过msnodesql访问SQL Server
- Ubuntu16.04 Apache的代理配置解决node、tomcat、apache同时使用80端口问题
- Apache代理访问node
- node.js通过edge访问.net动态链接库
- HttpComponents(Apache HttpComponents Client 4.1.3)通过代理访问网页的设置方法
- 通过Apache将tomcat的转为用80端口的二级域名访问
- Nodejs https reqest by proxy(node通过代理进行https请求)
- 通过node.js连接http代理访问外网
- ngrok集成在本地Node.js项目服务器,实现F5调试即可自动打开浏览器且通过外网可访问本地服务器。
- 通过 Nginx 反向代理部署 Node.js 服务
- 使用apache代理实现IIS和apache共享80端口
- 在windows下iis与apache共存80端口!通过各自的域名分别访问,不用加端口号(虚拟主机+代理)
- 通过 Apache 代理访问 NodeJS 服务
- 通过jcifs实现java访问网络共享文件