apache服務做反向代理
❶ apache正向代理和反向代理是什麼意思
正向代理,也就是傳說中的代理,他的工作原理就像一個跳板。簡單的說,我是一個用戶,我訪問不了某網站,但是我能訪問一個代理服務器,這個代理伺服器呢,他能訪問那個我不能訪問的網站,於是我先連上代理伺服器,告訴他我需要那個無法訪問網站的內容,代理伺服器去取回來,然後返回給我。從網站的角度,只在代理伺服器來取內容的時候有一次記錄。結論就是,正向代理,是一個位於客戶端和原始伺服器(origin
server)之間的伺服器,為了從原始伺服器取得內容,客戶端向代理發送一個請求並指定目標(原始伺服器),然後代理向原始伺服器轉交請求並將獲得的內容返回給客戶端。客戶端必須要進行一些特別的設置才能使用正向代理。
反向代理.舉例:
例用戶訪問 http://ooxx/readme但ooxx上並不存在readme頁面他是偷偷從另外一台伺服器上取回來,然後作為自己的內容吐給用戶
但用戶並不知情這很正常,用戶一般都很笨
這里所提到的 ooxx這個域名對應的伺服器就設置了反向代理功能
結論就是
反向代理正好相反,對於客戶端而言它就像是原始伺服器,並且客戶端不需要進行任何特別的設置。客戶端向反向代理
的命名空間(name-space)中的內容發送普通請求,接著反向代理將判斷向何處(原始伺服器)轉交請求,並將獲得的內容返回給客戶端,就像這些內容
原本就是它自己的一樣。
正向代理和反向代理的區別,從用途上來講:
正向代理的典型用途是為在防火牆內的區域網客戶端提供訪問Internet的途徑。正向代理還可以使用緩沖特性減少網路使用率。反向代理的典型用途是將
防火牆後面的伺服器提供給Internet用戶訪問。反向代理還可以為後端的多台伺服器提供負載平衡,或為後端較慢的伺服器提供緩沖服務。
另外,反向代理還可以啟用高級URL策略和管理技術,從而使處於不同web伺服器系統的web頁面同時存在於同一個URL空間下。
從安全性來講:
正向代理允許客戶端通過它訪問任意網站並且隱藏客戶端自身,因此你必須採取安全措施以確保僅為經過授權的客戶端提供服務。
反向代理對外都是透明的,訪問者並不知道自己訪問的是一個代理。
開放的反向代理應用:nginx和nat123。nginx是單純的反向代理,需要自行搭建反向代理服務才能使用,效率高。nat123是結合了NAT和反向代理的應用,可以直接使用,解決80埠問題等,速度快。
❷ apache能不能配置反向代理
Redis和Memcached這種基於內存的資料庫系統來說,內存管理的效率高低是影響系統性能的專關鍵因素。屬
傳統C語言中的malloc/free函數是最常用的分配和釋放內存的方法,但是這種方法存在著很大的缺陷!
❸ 怎麼配置反向代理 apache
雙擊安裝剛下載的Apache HTTP Server安裝文件,按照安裝向導安裝完成後,軟體會自動運行,如果埠不被佔用,會啟動成功,例如,在瀏覽器輸入http://localhost或者http://localhost:8080,回車。如果出現ItWorks!字樣,說明已經安裝成功了。
要配置反向代理,
首先,找到我們剛才安裝的Apache HTTP Server根目錄,
進入conf,找到httpd.conf配置文件,在大概110行,
LoadMoleproxy_mole moles/mod_proxy.so
LoadMoleproxy_ajp_molemoles/mod_proxy_ajp.so
LoadMoleproxy_balancer_molemoles/mod_proxy_balancer.so
LoadMoleproxy_connect_molemoles/mod_proxy_connect.so
LoadMoleproxy_ftp_molemoles/mod_proxy_ftp.so
LoadMoleproxy_http_molemoles/mod_proxy_http.so
將這些注釋打開,即去掉前面的#;
然後,還是在這個文件的471行,
Include conf/extra/httpd-vhosts.conf
將注釋打開;
打開,修改裡面的配置;
NameVirtualHost *:80[A1]
<VirtualHost *:80>[A2]
ServerAdmin [email protected]
DocumentRoot "d:/www/test"
ServerName test.orientsec.com
ServerAlias test.orientsec.com
ErrorLog "logs/test-error.log"
CustomLog "logs/test-access.log"common
ProxyPass /images/ !
ProxyPass/js/ !
ProxyPass/css/ !
ProxyPass/wiki http://hdwiki.orientsec.com/wiki.html max=20 ttl=120 retry=300
ProxyPassReverse/wiki http://hdwiki.orientsec.com/wiki.html
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "d:/www/hdwiki"
ServerName hdwiki.orientsec.com
ServerAlias hdwiki.orientsec.com
ErrorLog "logs/hdwiki-error.log"
CustomLog "logs/hdwiki-access.log"common
</VirtualHost>
找到conf/httpd.conf裡面的< Directory>標簽修改許可權配置,否則會一直拒絕訪問,需要登錄驗證。
Allow from none
改為:
Allow from all
最後,重啟Apache HTTP Server;
負載均衡
ProxyPass / balancer://orientsec.com.cn/
ProxyPassReverse/ balancer://orientsec.com.cn /
<Proxy balancer://orientsec.com.cn/>
BalancerMember http://localhost:8085/
BalancerMemberhttp://localhost:8086/
</Proxy>
❹ 請教大蝦們用apache做反向代理的問題
http://www.czug.org/contact
http://www.hifar.com/blog/
❺ apache反向代理的問題
增加<VirtualHost>來做吧
❻ nginx + apache做反向代理無法實現
1)環境:
a. 本地使用Windows系統,然後使用VirutalBox安裝一個虛擬的Linux系統。
在本地的Windows系統上分別安裝nginx(偵聽8080埠)和apache(偵聽80埠)。在虛擬的Linux系統上安裝apache(偵聽80埠)。這樣相當於擁有了1台nginx在前端作為反向代理伺服器;後面有2台apache作為應用程序伺服器(可以看作是小型的server cluster。);
b. nginx用來作為反向代理伺服器,放置到兩台apache之前,作為用戶訪問的入口;
nginx僅僅處理靜態頁面,動態的頁面(php請求)統統都交付給後台的兩台apache來處理。也就是說,可以把網站的靜態頁面或者文件放置到nginx的目錄下;動態的頁面和資料庫訪問都保留到後台的apache伺服器上。
c. 如下兩種方法實現server cluster的負載均衡。
假設前端nginx(為127.0.0.1:8080)僅僅包含一個靜態頁面index.html;後 台的兩個apache伺服器(分別為localhost:80和158.37.70.143:80),一台根目錄放置phpMyAdmin文件夾和 test.php(裡面測試代碼為print "server1";),另一台根目錄僅僅放置一個test.php(裡面測試代碼為print "server2";)。
2)針對不同請求的負載均衡:
a. 在最簡單地構建反向代理的時候(nginx僅僅處理靜態不處理動態內容,動態內容交給後台的apache server來處理),具體的設置為:在nginx.conf中修改:
location ~ \.php$ {
proxy_pass 158.37.70.143:80;
}
>;這樣當客戶端訪問localhost:8080/index.html的時候,前端的nginx會自動進行響應;
❼ apache 是反向代理伺服器嗎
Apache Ambari是一個基於抄web的工具,用於配置、管理和監視Apache Hadoop集群,支持Hadoop HDFS,、Hadoop MapRece、Hive、HCatalog,、HBase、ZooKeeper、Oozie、Pig和Sqoop。
Ambari同樣還提供了集群狀況儀表盤,比如heatmaps和查看MapRece、Pig、Hive應用程序的能力,以友好的用戶界面對它們的性能特性進行診斷。
❽ apache配置反向代理的問題,求大神指點!
在IIS7之前,在windows上要實現該功能卻不是一件容易的事情,但是在IIS7上,通過Application Request Routing模塊,我們可以輕松實現反向代理
在配置web伺服器的時候,我們經常遇到這樣的問題,由於某些原因,該伺服器只能擁有一個公網IP,但是可能需要提供其他機器或者本機上其他 webserver的伺服器給訪問者,同時又不希望使用其他埠,如果在linux下,常見的解決方案是使用nginx作為前端server,通過反向代 理間接訪問其他webserver.在IIS7之前,在windows上要實現該功能卻不是一件容易的事情,但是在IIS7上,通過 Application Request Routing模塊,我們可以輕松實現反向代理.
本次測試配置的情況,簡單起見,只在 iis中測試,配置3個網站,第一個」LevenWeb」,使用80埠提供服務,第二個」levenblog」,下面運行著 levenblog2.0.9,使用8080埠,第三個」phpweb」,下面有一個」test.php」的phpinfo頁面(iis7 php配置本文不再詳述),本機ip:192.168.1.8,為了測試,我們先進行域名綁定,也就是在leven.com.cn下新增3個子域名,域名 綁定如下圖所示:
我們的目標如下:
http://phpweb.leven.com.cn/ 訪問phpweb站點,也就是http://localhost:8081/
http://levenblog.leven.com.cn/ 訪問levenblog站點,也就是http://localhost:8080/
http://realblog.leven.com.cn/ 訪問公網上的levenblog站點,也就是http://leven.com.cn/
http://localhost/leven 訪問levenblog站點,也就是http://leven.com.cn/
首先前往http://www.iis.net/extensions/ApplicationRequestRouting下載Application Request Routing,然後安裝,本次實踐使用的是V2版.
安裝完畢之後,新建3個站點:
然後找到ARR配置菜單:
開啟Proxy項:
然後在levenweb站點下配置反向代理路由,配置可以使用UI界面或者直接修改web.config的模式,本次配置給出ui和config文件兩種方式,個人更喜歡config配置文件模式.
進入該項,先配置第一項, http://phpweb.leven.com.cn/ 訪問phpweb站點,也就是http://localhost:8081/,選擇」Add Rules...」:
然後選擇」Blank Rule」
然後填寫如下:
圖片看不清楚?請點擊這里查看原圖(大圖)。
該參數設置表面ARR將攔截所有請求
繼續在」Conditions」中選擇」Add」:
該設置表面只有HTTP_HOST為phpweb.leven.com.cn的URL才能通過該規則,如果您綁定了多個域名,可以根據多次增加或者通過正則表達式的|來間隔
最後在下面的Action中配置代理路徑:
圖片看不清楚?請點擊這里查看原圖(大圖)。
在這兒,{R:1}代表了MatchUrl中的第一個匹配括弧
同樣配置的web.config文件如下:
復制代碼 代碼如下:
測試訪問http://phpweb.leven.com.cn/test.php,結果如下:
下面同樣可以配置levenblog.leven.com.cn和realblog.leven.com.cn
Ui界面配置不再說明,配置完成的web.config如下:
復制代碼 代碼如下:
訪問結果分別為:
和
我們再添加最後一項,將http://localhost/leven 代理到 http://leven.com.cn/
復制代碼 代碼如下:
但是此時訪問會出現問題,如下圖:
顯然,出現了css丟失等情況,通過查看源碼:
可以看到css的路徑有誤,不僅如此,所有的img,a標簽路徑全部出現了錯誤,代理之後的地址是/leven/xxx的,但是源地址仍然是/xxx,因此我們還需要增加一個Outbound Rule
配置好的config文件如下:
復制代碼 代碼如下:
然後刷新:
可見路徑正確.
在使用了反向代理之後,編程上也有些地方需要注意了,在取客戶端IP的時候,由於多了一層代理,直接是無法獲取的,因此,我們需要開啟
然後通過獲取Header中的X-Forworded-For欄位來取得客戶端IP
從測試來看,ARR是個非常有用的代理模塊,能完全滿足我們反向代理的需求,不僅如此,ARR還提供了UrlRewrite,ServerFarms,Cache等很多功能,很是值得我們挖掘.
來源: 博客園 作者:Leven
❾ apache 反向代理是什麼意思
這里介紹的是Apache2.2,僅適用於Apach... 1 正確安裝Apache2.2後,修改httpd.conf... 2 另外還需要在httpd.conf文件中增加配置... 3 如果你想監聽別的埠, 修改Listen參數... 4 相應的,在httpd.conf文件監聽的埠要... 5 以上配置不管是反向代理還是正向代理都... 6 解釋一下:<VirtualHost *:80>代表的意... 7 可以如下進行配置 :(1) IP: port, 例如...
❿ 如何設置Apache流量伺服器作為一個反向代理在Ubunt
先決條件 要遵循本教程,您需要: 一個Ubuntu 1404 Droplet 一個非root用戶Sudo 至少1 GB的交換空間 第1步 - 安裝流量伺服器 由於流量伺服器可在Ubuntu 1404的默認存儲庫,可以使用安裝它apt-get 。在這樣做之前,請確保更新您的包索引文件。s如何設置Apache流量伺服器作為一個反向代理在Ubunt