apache安裝與反向代理配置


title: apache安裝與反向代理配置
date: 2017-11-04 21:13:48
tags:


apache安裝文件

  1. apache服務(wù)器安裝包:httpd-2.4.28.tar.gz

  2. apr包: apr-util-1.6.1.tar.gz、apr-1.6.3.tar.gz

  3. prce包:pcre-8.38.tar.gz

  4. c++編譯工具包:gcc-c++-4.8.2-16.el7.x86_64.rpm

  5. openssl安裝包:openssl-1.0.2l.tar.gz

    apache服務(wù)器安裝依賴的包比較多,由于安裝環(huán)境的查詢景用,在安裝的過程中可能會(huì)遇到各種問題娩缰,一定要詳細(xì)閱讀安裝日志,本安裝環(huán)境是在centos7的虛擬機(jī)

openssl的安裝

  1. 解壓tar -zxvf openssl-1.0.2l.tar.gz
  2. 解壓tar -zxvf openssl-1.0.2l.tar.gz
  3. 進(jìn)入到目錄cd openssl-1.0.2l
  4. 執(zhí)行配置文件 $ ./config shared --prefix=/usr/local --openssldir=/usr/local/ssl
  5. 編譯make
  6. 安裝make install
  7. 驗(yàn)證 openssl version 顯示版本信息

安裝apache服務(wù)器

安裝apache服務(wù)器主要需要以下條件

  1. APR 與APR-Util包

  2. Perl兼容的正則表達(dá)式庫(kù)(PCRE)

  3. C語言編譯環(huán)境(安裝pcre包還需要c++編譯工具)

  4. 確保您至少有50 MB的臨時(shí)可用磁盤空間可用挪捕。安裝后闯睹,服務(wù)器占用大約10 MB的磁盤空間

    首先安裝pcre包。

  5. 安裝c++編譯器: 執(zhí)行rpm -ivh gcc-c++-4.8.5-16.el7.x86_64.rpm

  6. 解壓:tar zxvf pcre-8.38.tar.gz

  7. 進(jìn)入到目錄 cd pcre-8.38

  8. 執(zhí)行配置文件 ./configure

  9. 編譯 make

  10. 安裝 make install

    apr包的安裝担神,apr包不用單獨(dú)安裝楼吃,只需把a(bǔ)pr包解壓到apache服務(wù)器解壓包對(duì)應(yīng)的目錄,在安裝apache服務(wù)器的時(shí)候加上安裝配置就可以妄讯,一起安裝了孩锡,步驟以下

  11. 解壓apache安裝包:tar zxvf httpd-2.4.28.tar.gz

  12. 拷貝apr包到指定的目錄并重命名

    拷貝apr-1.6.3.tar.gz與apr-util-1.6.1.tar.gz到httpd-2.4.28/srclib目錄,cp apr-1.6.3.tar.gz httpd-2.4.28/srclib亥贸、 cp apr-util-1.6.1.tar.gz httpd-2.4.28/srclib躬窜。重命名 mv apr-util-1.6.1 apr-util、 mv apr-1.6.3 apr炕置。apr的重命名步驟不能少荣挨,否則安裝apache服務(wù)的時(shí)候無法找到apr包

  13. 執(zhí)行配置文件: ./configure --prefix=/root/mydata/apache --with-pcre=/usr/local/pcre --with-included-apr --enable-ssl --with-openssl-dir=/usr/local/ssl

  14. 編譯 make


    xml/apr_xml.c:35:19: fatal error: expat.h: No such file or directory
     #include <expat.h>
                       ^
    compilation terminated.
    make[3]: *** [xml/apr_xml.lo] Error 1
    make[3]: Leaving directory `/root/mydata/httpd-2.4.28/srclib/apr-util'
    make[2]: *** [all-recursive] Error 1
    make[2]: Leaving directory `/root/mydata/httpd-2.4.28/srclib/apr-util'
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/root/mydata/httpd-2.4.28/srclib'
    make: *** [all-recursive] Error 1

以上錯(cuò)誤需要安裝開發(fā)庫(kù) expat-1.95.7.tar.gz步驟如下:

  • tar zxvf expat-1.95.7.tar.gz
  • ./configure
  • make
  • make install
  1. 安裝 make install

  2. 啟動(dòng) ./bin/apachectl -k start

  3. 訪問 http://192.168.47.133/ 如下圖

    出現(xiàn)上圖說明apache服務(wù)器已經(jīng)成功安裝男韧,下面只要是修改apach服務(wù)器的相關(guān)配置文件,讓其作為反向代理并為其添加ssl

首先設(shè)置虛擬主機(jī)

設(shè)置虛擬主機(jī)通過設(shè)置多個(gè)虛擬主機(jī)可以支持一臺(tái)物理服務(wù)器訪問多個(gè)域名默垄,就好像有多個(gè)服務(wù)器一樣此虑。打開配置文件/root/mydata/apache/conf/httpd.conf,去掉#Include conf/extra/httpd-vhosts.conf前面的#口锭,保存并退出朦前。然后打開httpd-vhosts.conf,創(chuàng)建/root/mydata/esdatadir目錄和/root/mydata/esdatadir/log鹃操,作為代理服務(wù)器的根路徑韭寸,注釋掉文件httpd-vhosts.conf中的以下代碼:

<VirtualHost *:80>
     ServerAdmin webmaster@dummy-host.example.com
     DocumentRoot "/root/mydata/apache/docs/dummy-host.example.com"
     ServerName dummy-host.example.com
     ServerAlias www.dummy-host.example.com
     ErrorLog "logs/dummy-host.example.com-error_log"
     CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>
 
<VirtualHost *:80>
     ServerAdmin webmaster@dummy-host2.example.com
     DocumentRoot "/root/mydata/apache/docs/dummy-host2.example.com"
     ServerName dummy-host2.example.com
     ErrorLog "logs/dummy-host2.example.com-error_log"
     CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>

httpd-vhosts.conf文件添加以下代碼段,其中esdata.com作為域名對(duì)外提供訪問

<VirtualHost *:80>
   DocumentRoot "/apachedir"
   ServerName esdata.com
   ErrorLog "/apachedir/esdata.com-error_log"
   CustomLog "/apachedir/esdata.com-access_log" common


  <Directory />
     AllowOverride none
     Require all granted
  </Directory>

</VirtualHost>

在虛擬目錄apachedir下創(chuàng)建文件index.html荆隘,并寫入以下代碼段

<html><body><h1>It works www!</h1></body></html>

重啟apache服務(wù)器:./bin/apachectl -k restart

添加ip映射恩伺,范圍http://esdata.com,和上面訪問http://192.168.47.133 出現(xiàn)同樣的結(jié)果椰拒,說明虛擬主機(jī)設(shè)置成功

vi /etc/hosts
127.0.0.1 esdata.com

設(shè)置反向代理

先說一下本文檔反向代理的環(huán)境莫其,apache代理服務(wù)器安裝在虛擬機(jī)上,ip地址是192.168.47.133耸三,物理機(jī)的ip地址是192.168.2.40乱陡。為了測(cè)試反向代理,我在物理機(jī)上開了一個(gè)web應(yīng)用服務(wù)仪壮,通過apche作為反向代理來訪問該服務(wù)憨颠,而不是直接訪問。直接訪問如下圖

打開配置文件httpd.conf积锅,去掉以下module前面的#

#LoadModule proxy_module libexec/apache2/mod_proxy.so
#LoadModule proxy_connect_module libexec/apache2/mod_proxy_connect.so
#LoadModule proxy_ftp_module libexec/apache2/mod_proxy_ftp.so
#LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so

通過以上module的命名我們可以了解到mod_proxy.so是基礎(chǔ)的代理配置爽彤,mod_proxy_http.so支持HTTP請(qǐng)求,mod_proxy_ftp.so支持FTP請(qǐng)求缚陷,mod_proxy_connect.so 支持HTTPS請(qǐng)求(HTTPS請(qǐng)求頭和報(bào)文是加密的适篙,代理服務(wù)器不能通過識(shí)別請(qǐng)求頭來獲取目的服務(wù)器的地址,所以在最開始建立連接時(shí)代理服務(wù)器需要打開一條從客戶端到服務(wù)器的端到端connect通道)

修改虛擬主機(jī)配置

我們把esdata.com的端口號(hào)改為443箫爷,讓esdata.com作為反向代理服務(wù)器嚷节,物理機(jī)192.168.2.40:8001上的web服務(wù)作為原始服務(wù)器,通過訪問反向代理服務(wù)器間接訪問原始服務(wù)器資源虎锚。配置代碼如下:

 <VirtualHost *:443>
 DocumentRoot "/apachedir"
 ServerName esdata.com
 ErrorLog "/apachedir/esdata.com-error_log"
 CustomLog "/apachedir/esdata.com-access_log" common


<Directory />
   AllowOverride none
   Require all granted
</Directory>

 #set proxy
 ProxyPass / http://192.168.2.40:8001/
 ProxyPassReverse / http://192.168.2.40:8001/

</VirtualHost>

驗(yàn)證
物理機(jī)的hosts文件需加上 192.168.47.133 esdata.com
重啟apache硫痰,訪問 http://esdata.com/login.html如下圖

為該apache反向代理添加ssl配置

首先使用OpenSSL創(chuàng)建私鑰文件

openssl genrsa -out esdata.key 2048

然后利用私鑰創(chuàng)建自簽名證書

openssl req -new -x509 -key esdata.key -out esdata.cer

需要自己填寫一些證書信息,如下圖:

  • 修改服務(wù)器配置

    去掉#Include /private/etc/apache2/extra/httpd-ssl.conf前面的#, 去掉#LoadModule ssl_module libexec/apache2/mod_ssl.so前面的#, 去掉#LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so前面的#

  • 修改httpd-ssl.conf配置窜护,加入以下配置

    SSLCertificateFile "/root/mydata/apache/esdata.cer"

    SSLCertificateKeyFile "/root/mydata/apache/esdata.key"

  • 修改虛擬主機(jī)配置

      <VirtualHost *:443>
          DocumentRoot "/apachedir"
          ServerName esdata.com
          ErrorLog "/apachedir/esdata.com-error_log"
          CustomLog "/apachedir/esdata.com-access_log" common
    
          SSLCertificateFile "/root/mydata/apache/esdata.cer"
          SSLCertificateKeyFile "/root/mydata/apache/esdata.key"
    
          <Directory />
             AllowOverride none
             Require all granted
          </Directory>
          
           #set proxy
           ProxyPass / http://192.168.2.40:8001/
           ProxyPassReverse / http://192.168.2.40:8001/
      
      </VirtualHost>
    
  • 驗(yàn)證效斑,重啟服務(wù)器sudo apachectl -k restart,(如何添加ssl啟動(dòng)不了柱徙,請(qǐng)?jiān)囅聦?dǎo)出openssl的依賴庫(kù)缓屠,export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib6)奇昙,如下圖:

以上是apache反向代理的配置,參考文檔

Apache HTTP 服務(wù)器版本 2.4:http://httpd.apache.org/docs/2.4/

apache的編譯與安裝 http://httpd.apache.org/docs/2.4/install.html

反向代理設(shè)置指南:http://httpd.apache.org/docs/2.4/howto/reverse_proxy.html

基于Apache搭建HTTP/HTTPS/正向代理/反向代理服務(wù)器 https://lpd-ios.github.io/2017/07/25/Apache-HTTP/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末敌完,一起剝皮案震驚了整個(gè)濱河市储耐,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蠢挡,老刑警劉巖弧岳,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凳忙,死亡現(xiàn)場(chǎng)離奇詭異业踏,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)涧卵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門勤家,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人柳恐,你說我怎么就攤上這事伐脖。” “怎么了乐设?”我有些...
    開封第一講書人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵讼庇,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我近尚,道長(zhǎng)蠕啄,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任戈锻,我火速辦了婚禮歼跟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘格遭。我一直安慰自己哈街,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開白布拒迅。 她就那樣靜靜地躺著骚秦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪璧微。 梳的紋絲不亂的頭發(fā)上骤竹,一...
    開封第一講書人閱讀 51,541評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音往毡,去河邊找鬼蒙揣。 笑死,一個(gè)胖子當(dāng)著我的面吹牛开瞭,可吹牛的內(nèi)容都是我干的懒震。 我是一名探鬼主播罩息,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼个扰!你這毒婦竟也來了瓷炮?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤递宅,失蹤者是張志新(化名)和其女友劉穎娘香,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體办龄,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡烘绽,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了俐填。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片安接。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖英融,靈堂內(nèi)的尸體忽然破棺而出盏檐,到底是詐尸還是另有隱情,我是刑警寧澤驶悟,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布胡野,位于F島的核電站,受9級(jí)特大地震影響痕鳍,放射性物質(zhì)發(fā)生泄漏硫豆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一额获、第九天 我趴在偏房一處隱蔽的房頂上張望够庙。 院中可真熱鬧,春花似錦抄邀、人聲如沸耘眨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽剔难。三九已至,卻和暖如春奥喻,著一層夾襖步出監(jiān)牢的瞬間偶宫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工环鲤, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留纯趋,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像吵冒,于是被迫代替她去往敵國(guó)和親纯命。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容