Apache反向代理的配置
一: Mac系統自帶apache伺服器
1. 檢視apache版本命令如下:
sudo apachectl -v
2. 啟動apache
sudo apachectl start
3. 重啟apache
sudo apachectl restart
二:概念描述:
apache代理分為正向代理和反向代理:
1、正向代理: 客戶端無法直接訪問外部的web,需要在客戶端所在的網路內架設一臺代理伺服器,客戶端通過代理伺服器訪問外部的web(需要在客戶端的瀏覽器中設定代理伺服器).
2、反向代理: 客戶端能訪問外部的web,但是不能訪問目標web,目標web所在的網路內一臺機器充當目標web的代理,客戶端直接訪問代理就像訪問目標web一樣.
更多的正向代理和反向代理 請baidu或google。
三:配置如下:
1. cd /etc/apache2 進入apache2的配置。
2. sudo vi httpd.conf (進入httpd.conf檔案)檢視。
2-1 備份原來的檔案
sudo cp /etc/apache2/httpd.conf /etc/apache2/httpd.conf.backup
3. 檢查代理模組是否開啟,如果沒有開啟,去掉下面程式碼前面的註釋符號 #
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 LoadModule proxy_balancer_module libexec/apache2/mod_proxy_balancer.so(負載均衡的功能,單純的反向代理不需要註釋)
4. 在httpd.conf的末尾新增如下程式碼:
<VirtualHost *:80> ServerName ss.xx.com ProxyRequests off Header set Access-Control-Allow-Origin * <Proxy *> Order deny,allow Allow from all </Proxy> <Location /xxyy> ProxyPass http://localhost:8892/ ProxyPassReverse http://localhost:8892/ </Location> <Location /ofc> ProxyPass http://localhost:8894/ ProxyPassReverse http://localhost:8894/ </Location> </VirtualHost>
*:80 是指任何伺服器且埠號是80埠。
ServerName: 指資原始檔的指向的伺服器名稱(在hosts檔案需要繫結 127.0.0.1 ss.xx.com)。
ProxyPass 和 ProxyPassReverse 及 http://localhost:8892/ 是我們請求真正的目的伺服器。
比如我們在瀏覽器中輸入 http://192.168.xx.xx:80/xxyy時候,頁面會反向代理會返回 http://localhost:8892/ 的首頁;
當我們在瀏覽器中輸入 http://192.168.xx.xx:80/ofc 的時候,頁面會反向代理會返回 http://localhost:8894/ 的首頁;
以上就是最基本的使用apache配置代理轉發請求。