apache 反向代理

概述

反向代理(Reverse Proxy)方式是指以代理服務器來接受internet上的連接請求,然後將請求轉發給內部網絡上的服務器,並將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現爲一個服務器。

通常的代理服務器,只用於代理內部網絡對Internet的連接請求,客戶機必須指定代理服務器,並將本來要直接發送到Web服務器上的http請求發送到代理服務器中。由於外部網絡上的主機並不會配置並使用這個代理服務器,普通代理服務器也被設計爲在Internet上搜尋多個不確定的服務器,而不是針對Internet上多個客戶機的請求訪問某一個固定的服務器,因此普通的Web代理服務器不支持外部對內部網絡的訪問請求。當一個代理服務器能夠代理外部網絡上的主機,訪問內部網絡時,這種代理服務的方式稱爲反向代理服務。此時代理服務器對外就表現爲一個Web服務器,外部網絡就可以簡單把它當作一個標準的Web服務器而不需要特定的配置。不同之處在於,這個服務器沒有保存任何網頁的真實數據,所有的靜態網頁或者CGI程序,都保存在內部的Web服務器上。因此對反向代理服務器的攻擊並不會使得網頁信息遭到破壞,這樣就增強了Web服務器的安全性。

比較正向與反向的區別


正向代理:客戶端->正向代理Server->internet->目標Server



反向代理:客戶端->internet->反向代理Server->目標Server


Apache反向代理準備

1)本文采用系統:Centos6.2;Apache:apche2.2

2)保證你已經安裝了Apache並且可以工作

3)部署需要反向代理的應用,本文把jamwiki-1.2.2.war部署到了Tomcat中


Apache反向代理配置


打開代理服務

去除http.conf中的註釋(刪除前面的#)

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_connect_module modules/mod_proxy_connect.so

LoadModule proxy_http_module modules/mod_proxy_http.so

LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

開始配置

1)在conf.d下新建以.conf爲後綴的文件:michael.conf,寫入

ProxyPass /jamwiki-1.2.2  http://10.0.11.106:8088/jamwiki-1.2.2

ProxyPassReverse /jamwiki-1.2.2  http://10.0.11.106:8088/jamwiki-1.2.2

#這裏的"ProxyPass"是代理命令,”ProxyPassReverse“是反向代理之意。這裏的意思是隻要訪問根下面jamwiki-1.2.2應用那麼就請求http://10.0.11.106:8088/jamwiki-1.2.2。

#注意:這裏的jamwiki-1.2.2與後面需要轉發的項目必須一致,也就是“ http://10.0.11.106:8088/jamwiki-1.2.2”不能爲“ http://10.0.11.106:8088/jamwiki”或者其他


2)修改http.conf文件

ServerName 10.0.25.8:80

3)重啓服務:service httpd restart


測試

訪問:http://10.0.25.8:80//jamwiki-1.2.2


問題

問題一:(13)Permission denied: proxy

解決辦法(允許訪問): setsebool -P httpd_can_network_connect 1

問題二:不能訪問服務

解決辦法:或許是因爲防火牆,service iptables stop


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章