IIS中使用的ISAPI
2024-08-29 03:07:44
供稿:網友
代理服務器來接受internet上的連接請求,然后將請求轉發給內部網絡上的服務器,并將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現為一個服務器。 反向代理是什么?
大家去過落伍者吧?大家可以通過IP查看落伍的IP是在韓國,大家可知道,其實落伍的數據還是在國內。如何做到這樣的呢,這就叫反向代理,在韓國的服務器將http請求發送到國內服務器的某個http端口,再將回傳的數據返回到韓國,發送至客戶,這樣就完成了網站實體在國內,看起來網站在國外。
這里說一下IIS做反向代理,實現這個功能ISAPI_Rewrite Full版本可以實現。下載ISAPI_Rewrite Full,安裝。
在創建一個網站,這個網站可以用你想要的域名進行訪問到,或者最直接的方法就是空主機頭的網站,再在網站下面創建一個httpd.ini文件,內容:
復制代碼 代碼如下:
[ISAPI_Rewrite]
RewriteCond Host: www/.my/.me
RewriteProxy (.*) http://my.xxxx.net:81$1 [I,F,U]
其意思是將www.my.me映射到http://my.xxx.net:81,這里可以自由映射到別的端口。
反向代理(Reverse Proxy)方式是指以代理服務器來接受internet上的連接請求,然后將請求轉發給內部網絡上的服務器,并將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現為一個服務器。
通常的代理服務器,只用于代理內部網絡對Internet的連接請求,客戶機必須指定代理服務器,并將本來要直接發送到Web服務器上的http請求發送到代理服務器中。由于外部網絡上的主機并不會配置并使用這個代理服務器,普通代理服務器也被設計為在Internet上搜尋多個不確定的服務器,而不是針對Internet上多個客戶機的請求訪問某一個固定的服務器,因此普通的Web代理服務器不支持外部對內部網絡的訪問請求。當一個代理服務器能夠代理外部網絡上的主機,訪問內部網絡時,這種代理服務的方式稱為反向代理服務。此時代理服務器對外就表現為一個Web服務器,外部網絡就可以簡單把它當作一個標準的Web服務器而不需要特定的配置。不同之處在于,這個服務器沒有保存任何網頁的真實數據,所有的靜態網頁或者CGI程序,都保存在內部的Web服務器上。因此對反向代理服務器的攻擊并不會使得網頁信息遭到破壞,這樣就增強了Web服務器的安全性。
反向代理方式和包過濾方式或普通代理方式并無沖突,因此可以在防火墻設備中同時使用這兩種方式,其中反向代理用于外部網絡訪問內部網絡時使用,正向代理或包過濾方式用于拒絕其他外部訪問方式并提供內部網絡對外部網絡的訪問能力。因此可以結合這些方式提供最佳的安全訪問方式。
代理服務器充當服務器的替身
如果您的內容服務器具有必須保持安全的敏感信息,如信用卡號數據庫,可在防火墻外部設置一個代理服務器作為內容服務器的替身。當外部客戶機嘗試訪問內容服務器時,會將其送到代理服務器。實際內容位于內容服務器上,在防火墻內部受到安全保護。代理服務器位于防火墻外部,在客戶機看來就像是內容服務器。
當客戶機向站點提出請求時,請求將轉到代理服務器。然后,代理服務器通過防火墻中的特定通路,將客戶機的請求發送到內容服務器。內容服務器再通過該通道將結果回傳給代理服務器。代理服務器將檢索到的信息發送給客戶機,好像代理服務器就是實際的內容服務器(參見圖 14-1)。如果內容服務器返回錯誤消息,代理服務器會先行截取該消息并更改標頭中列出的任何 URL,然后再將消息發送給客戶機。如此可防止外部客戶機獲取內部內容服務器的重定向 URL。
這樣,代理服務器就在安全數據庫和可能的惡意攻擊之間提供了又一道屏障。與有權訪問整個數據庫的情況相對比,就算是僥幸攻擊成功,作惡者充其量也僅限于訪問單個事務中所涉及的信息。未經授權的用戶無法訪問到真正的內容服務器,因為防火墻通路只允許代理服務器有權進行訪問。