解决线上服务器httpd无法反向代理resin的解决方法

一、简述

  前两天有后端的小伙伴跟我反映说使用httpd反向代理resin时遇到的问题,在做网站管理后台的时候,发起的httpput,delete的请求无法经由resin传递到后面的dbserver。当时的第一反应就是httpd的反向代理设置出现的问题,但是关于httpd反代resin的内容在网上机会搜索不到。于是,查看httpd反代tomcat的设置进行配置,但是依旧不成功。

二、解决思路

说明:因为真实的线上业务服务器,所以配置文件中的ip地址均使用IP代替,域名均使用servername代替

  因为这是台线上的server,有两个官网的业务在跑,所以不能停服。于是便有了以下三种我能想到的解决方案。

1、将httpd换成nginx,但是这个客户的服务器慎重起见还是不要动的好,果断放弃。

2、所以nginx反代httpdresin具体的配置如下;

  1)先修改 /usr/local/apache/conf/vhost 下面两个虚拟主机监听的端口

<VirtualHost *:8090>ServerName localhost
<VirtualHost *:8091>ServerName localhost

   (2)修改nginx的配置文件   

server {
        listen                       80;
        server_name                 servername1;
        chunked_transfer_encoding    on;
        proxy_http_version           1.1;
        location /  {
        proxy_pass  http://IP:8090;
        proxy_set_header        Host            $host;
                    }
 
 
          }
 
server {
        listen                       80;
        server_name                  servername2;
        chunked_transfer_encoding    on;
proxy_http_version           1.1;
      
 
        location /  {
        proxy_pass  http://IP:8091;
        proxy_set_header        Host            $host;
                    }
 
          }
 
server {
 
        listen   80;
        index index.html index.htm index.php;
 
        server_name  servername3;
 
        location / {
        proxy_pass  http://localhost:8080;
        proxy_redirect off;
        proxy_set_header x-Real-IP $remote_addr;
        proxy_set_header        Host            $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}

 

3、修改了这么的配置感觉不是很爽,于是想到了第三种方法。

443端口是给web服务器使用ssl进行https方式进行工作的端口。也就是在原来的http的基础上加了一层密,那我不要这层加密应该也能用吧?

于是想着直接让nginx去监听443端口,然后再让nginx去反向代理resin,同时将后端管理的域名与nginx的域名绑定在一起,就能解决问题了。

 

修改nginx的配置文件的内容

server {
 
        listen   443;
 
        index index.html index.htm index.php;
 
        server_name  servername3;
 
        location / {
        proxy_pass  http://localhost:8080;
        proxy_redirect off;
        proxy_set_header x-Real-IP $remote_addr;
        proxy_set_header        Host            $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}

 

 

总结:方法3是对业务影响最下的方法,原来的业务不需要做任何的改动,也不存在nginx配置出错无法代理httpd而引起的业务中断。

原创文章,作者:hanlln1,如若转载,请注明出处:http://www.178linux.com/66427

(0)
hanlln1hanlln1
上一篇 2017-01-11 14:39
下一篇 2017-01-12 11:30

相关推荐

  • Zabbix通过邮件报警

                    Zabbix通过邮件报警 前言 本篇文章转自我的个人博客 http://anyisalin.com 欢迎大家访问 这次的内容大部分都是操作, 但是大家需要对定…

    2016-05-13
  • 初识LINUX

    初识LINUX 一、计算机的组成 二、Linux的发行版本 发行版:数百种之多,主要分为: Debian分支:ubuntu、mint、knopix Slackware分支:S.u.S.E–>SLES、OpenSUSE RedHat分支: Redhat–>Centos   Fedora Core Gent…

    Linux干货 2016-09-17
  • Linux文件管理类命令相关

    Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 1)、查看文件命令: (1)ls命令: list,列出目录下的内容 语法: ls [OPTION]… [FILE]… 常用选项: -a: 显示所有文件,包括隐藏文件; -A:显示除.和..之外的所有文件; -l: –long, 长格式列表,即显示文件的详细属性信息; -h, –huma…

    Linux干货 2016-11-06
  • 一.Liunx博客-2016年7月19日文件系统类型、分区类型

    格式说明: 操作 概念 命令 说明及举例 一.文件系统类型、分区类型 转换磁盘文件系统命令 convert e: /fs:ntfs su – root 切换到root用户 linux根 /windows根 \ cd \ home:用户root:usr:tmp:临时文件dev:硬件设备 IDE /dev/hda…

    Linux干货 2016-08-23
  • Linux 第六天: (08月03日) Linux权限管理

    Linux 第六天: (08月03日) Linux权限管理         chown USER:GROUP FILE 变更文件或目录所属主chown -R 递归chown –reference=<> 参考 chgrp GROUP DIR(or FILE) 变更文件或目录所属组   &…

    Linux干货 2016-08-08
  • 马哥教育网络班21期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@centos ~]# who | awk '{print $1 $NF}'| uniq -d root(192.168.40.1) derulo(19…

    Linux干货 2016-07-22