解決線上服務器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.www58058.com/66427

(0)
hanlln1hanlln1
上一篇 2017-01-11
下一篇 2017-01-12

相關推薦

  • Liunx課前準備

    ? ? ? ? 經過與家人的溝通終于來到了北京,開始了期待已久的Linux學習之路。 ? ?今天是講課前第一天,和上學時代一樣,各位同學做了自我介紹,仿佛又置身于10年前的課堂,同學們有序的介紹著自己,今天我們坐到了一起就為了同一個夢想。之前還有很大的顧慮:學不會怎么辦?出來找不到工作怎么辦?……但聽了大家的介紹后發現很多同學與我一樣,所有的顧慮瞬間消失,希…

    2018-03-26
  • 20160803作業-用戶組和權限管理

    http://note.youdao.com/yws/public/redirect/share?id=46f06331b737c6d08a0e8c9c3d49ac9e&type=false

    Linux干貨 2016-08-08
  • Week5 grep和find命令及正則表達式練習

    1、顯示當前系統上root、fedora或user1用戶的默認shell;   cat /etc/passwd  | grep -E "^\<root\>|^\<fedora\>|^\<\user1\>" |&nb…

    Linux干貨 2017-02-14
  • 任務計劃

                          Linux任務計劃 一、任務計劃     (1)未來的某一個時間點執行一次某任務:at、batch     (2)周期性運行某…

    2017-05-14
  • DNS介紹及資源記錄

    DNS查詢 第一段:主機到運營商的DNS服務器(遞歸) 第二段:運營商的DNS再去解析(根域名服務器/),在一層一層的查找(迭代) DNS名稱解析方式:名稱–>IP,IP–>名稱 注意:二者的名稱空間非同一個空間,即不是一個數據庫; 域: www.magedu.com. ftp.magedu.com. bbs.magedu…

    Linux干貨 2017-02-12
  • yum函數介紹以及自建yum倉庫

    一、前言     在之前介紹了yum的配置(詳細請移步 http://www.www58058.com/archives/6445)。但是有沒有發現一個問題,雖然我們已將倉庫指向一個可用的倉庫服務器,但是隨著Linux的不斷升級和改版,我們是否還需要不斷的去修改倉庫的配置文件,如果只有一臺還好,那如果我們有多…

    Linux干貨 2015-07-24
欧美性久久久久