在之前记录的随笔中,只是介绍了怎么在apache2中使用proxy模块,后来查到了一些资料,可以通过下面网址查看配置块的详细参数信息

http://man.ddvip.com/soft/apache2.0/sections.html

在服务器上面部署node.js应用的时候我遇到了下面的问题:

node.js应用监听的是3000端口,使用反向代理可以将80端口的所有请求代理到http://127.0.0.1:3000/去

但是当对node.js做维护的时候,停止监听3000端口是一个很好的选择,但是如果这个时候有人访问你的站点,该怎么办呢?

这个问题是前一段时间遇到的,知道昨天才真正下决心把它解决掉。

ok,我开始寻找解决方式,观察停止监听3000端口时服务器返回的错误代码是503,好了,有思路了,直接重定向503页面就可以了。

于是在Virtualhost *:80中添加了如下代码,是的服务器访问出现503错误的时候,跳转到专有界面

<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.localhost
DocumentRoot "E:/phpworkspace/myblog"
ServerName www.myblog.lc
ServerAlias www.myblog.lc
ErrorLog "logs/dummy-host2.localhost-error.log"
CustomLog "logs/dummy-host2.localhost-access.log" common
<Directory "E:/phpworkspace/myblog">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from All
</Directory>
#ProxyPass /article http://127.0.0.1:3000/article
#ProxyPassReverse /article http://127.0.0.1:3000/article
ErrorDocument 503 /index.html
ProxyPass / http://127.0.0.1:3000/
ProxyPassReverse / http://127.0.0.1:3000/
</VirtualHost>

  本以为问题解决了,进行测试,服务器端停止监听3000端口,访问主机地址,结果出现的还是503错误

于是又去查找资料,仔细看了反向代理的介绍之后,恍然大悟,原来上面设置的503 都会被转到127.0.0.1:3000/index.html

可是我原来的应用下面就没有index.html文件

于是就想 能否在node.js监听的时候去访问3000端口,如果发现没有监听也就是出现503错误的时候访问的是apache默认的目录结构下的页面呢

于是终于找准了地方 在apache的默认www下创建error文件夹 在error里面创建一个index.html文件 用来显示503错误

于是上述配置文件信息修改为下面的内容

<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.localhost
DocumentRoot "E:/phpworkspace/myblog"
ServerName www.myblog.lc
ServerAlias www.myblog.lc
ErrorLog "logs/dummy-host2.localhost-error.log"
CustomLog "logs/dummy-host2.localhost-access.log" common
<Directory "E:/phpworkspace/myblog">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from All
</Directory>
#ProxyPass /article http://127.0.0.1:3000/article
#ProxyPassReverse /article http://127.0.0.1:3000/article
ErrorDocument 503 /error/index.html
ProxyPass /error/ ! 对error目录不使用代理
ProxyPass /error/e !
ProxyPass / http://127.0.0.1:3000/
ProxyPassReverse / http://127.0.0.1:3000/
</VirtualHost>

  ok,问题解决,这样在服务器端没有监听3000端口的时候,服务器端会返回apache默认结构下的/error/index.html页面

apache2反向代理node.js应用的更多相关文章

  1. nginx反向代理node.js获取客户端IP

    使用Nginx做node.js程序的反向代理,会有这么一个问题:在程序中获取的客户端IP永远是127.0.0.1 如果想要拿到真实的客户端IP改怎么办呢? 一.首先配置Nginx的反向代理 proxy ...

  2. 用Nginx反向代理Node.js

    安装pm2 npm install pm2 -g ln -s /home/download/node-v8.11.1-linux-x64/lib/node_modules/pm2/bin/pm2 /u ...

  3. Nginx反向代理node,实现让静态文件在同一域

    Nginx反向代理node,实现让静态文件在同一域 原文https://github.com/zhuangZhou/Blog/issues/4 不管是Vue还是React,还是传统的网站,与node服 ...

  4. apache2下部署node.js应用程序

    版本:apache2.2+node.js(v.10.25) 系统环境:ubuntu 12.04(LTS) 32位 因为有些模块并没有开启 所以需要使用以下命令开启该模块 windows下则直接在htt ...

  5. apache2反向代理

    1.安装 Apache2 sudo apt-get install apache2 2.重启服务器 sudo /etc/init.d/apache2 restart 3.虚拟主机配置 启用这几个模块 ...

  6. 记录下使用iis7代理node.js写的网站程序

    昨天晚上一个学弟的紧急求救,说了自己接的单子做了一个网站,使用了自己熟悉的技术——node.js+mongdb,但当看到部署环境惊呆了,是 windows+sqlserver.这些都不是关键,关键是服 ...

  7. gerrit 配置 apache2 反向代理(转载)

    Apache 2 Configuration To run Gerrit behind an Apache server using mod_proxy, enable the necessary A ...

  8. CentOS 7 安装 Nginx 反向代理 node

    安装 nginx yum install epel-release yum install nginx 配置 nginx sudo vim /etc/nginx/nginx.conf, 改成下面配置: ...

  9. 使用 Node.js 搭建微服务网关

    目录 Node.js 是什么 安装 node.js Node.js 入门 Node.js 应用场景 npm 镜像 使用 Node.js 搭建微服务网关 什么是微服务架构 使用 Node.js 实现反向 ...

随机推荐

  1. Mingyang.net:hibernate.hbm2ddl.auto配置详解【转】

    原文地址:http://www.cnblogs.com/feilong3540717/archive/2011/12/19/2293038.html hibernate.cfg.xml 中hibern ...

  2. Hardwood Species(水)

    Time Limit:10000MS    Memory Limit:65536KB    64bit IO Format:%I64d & %I64u SubmitStatus Descrip ...

  3. Android——显示单位px和dip以及sp的区别

    dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA.HVGA和QVGA 推荐使用这个,不依赖像素.d ...

  4. Laxcus大数据管理系统2.0(11)- 第九章 容错

    第九章 容错 在当前,由于集群庞大的组织体系和复杂性,以及用户普遍要求低成本硬件,使得集群在运行过程中发生的错误概率,远远高于单一且性能稳定的小型机服务器,并且集群在运行过程中几乎是不允许停止的,这就 ...

  5. 我的Python基础笔记

    Python是从刚开始参加工作,就有听各方面的测试大牛推崇,但是刚开始做测试时还是把基础的测试方法放在第一位来学习的,直到半年多以后才开始接触Python. 我的Python基础主要是以廖雪峰老师的在 ...

  6. 关于conversation generation的论文笔记

    对话模型此前的研究大致有三个方向:基于规则.基于信息检索.基于机器翻译.基于规则的对话系统,顾名思义,依赖于人们周密设计的规则,对话内容限制在特定领域下,实际应用如智能客服,智能场馆预定系统.基于信息 ...

  7. Hello world!让 grub2 引导自己的操作系统 Xos 内核

    按照惯例,Xos 的第一步是在屏幕上打印 Hello world!第一步是神奇的一步,如果读者对 PC 不了解,将很难得到头绪. PC 开机后,CS 和 IP 被初始化为 CS=0xFFFFh,IP= ...

  8. BP神经网络学习笔记_附源代码

    BP神经网络基本原理: 误差逆传播(back propagation, BP)算法是一种计算单个权值变化引起网络性能变化的较为简单的方法.由于BP算法过程包含从输出节点开始,反向地向第一隐含层(即最接 ...

  9. PAT1024. Palindromic Number

    //自己方法只能拿到15分后边老是又过不了的点,用了网上别人的方法,用库函数的翻转reverse(),参数分别是起始位置个结束位置,注意只能在原存储空间翻转,即比较对称时,再生请一个空间,将原来字符串 ...

  10. centos atomic host第一次启动

    centos atomic host安装完成会,第一次启动时会调用cloud-init等服务.这是个什么东东? cloud-init用于在创建虚拟机时通过元数据服务对虚拟机基本配置,包括常见的主机名, ...