歡迎您光臨本站 註冊首頁

為國外的web伺服器添加一個國內的反向代理伺服器!

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

為國外的web伺服器添加一個國內的反向代理伺服器!

想為國外的web伺服器添加一個國內的反向代理伺服器!一是為了加快訪問速度,二是為了保護伺服器.今天才剛接觸squid,搞了半天搞不定.一開始是用APACHE來做的,但只能是實現跳轉,如果適用URL改寫的話又會對網站的訪問產生影響,不知道是哪裡搞錯了.後來又開始嘗試SQUID,但怎麼設置都沒辦法實現,找了半天的配置方案,也都是一些反向代理內網伺服器的,按照配製方法改寫的話又行不通,很鬱悶,看來才初學就想弄這個還真不是一般的難啊........
《解決方案》

回復 #1 danyjiang 的帖子

我剛配置成功的,供你參考,環境:squid2.6
安裝
./configure --prefix=/usr/local/squid --enable-dlmalloc --with-pthreads --enable-poll --disable-internal-dns --enable-stacktrace --enable-removal-policies="heap,lru" --enable-delay-pools --enable-storeio="aufs,coss,diskd,ufs"

squid.conf內容

visible_hostname Proxy_Server
http_port 80 vhost vport
hierarchy_stoplist cgi-bin ?
access_log /usr/local/squid/var/logs/access.log squid
acl QUERY urlpath_regex cgi-bin \? \.php \.pl
cache deny QUERY
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern .               0       20%     4320
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443
acl Safe_ports port 80          # http
acl CONNECT method CONNECT
http_access allow all manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow all
icp_access allow all
coredump_dir /usr/local/squid/var/cache
error_directory /usr/local/squid/share/errors/Simplify_Chinese
cache_dir aufs /data/Cache1 1000 16 256
cache_mem 1000 MB
maximum_object_size 4096 KB
maximum_object_size_in_memory 512 KB
allow_underscore on
cache_peer www.web.com parent 80 0 no-query originserver name=www
cache_peer_domain www www.web.com


[ 本帖最後由 saman 於 2008-10-29 11:33 編輯 ]
《解決方案》

我目前的工作就是弄反向代理,已經進入完善和優化的階段了。大家互相交流,不知有什麼可以幫到你的?
《解決方案》

多謝樓上的兄弟共享了,學習學習~
《解決方案》

試了下,還是不行,也不知道哪裡錯了,提示是"The requested URL could not be retrieved",鬱悶,繼續找問題:em16:
《解決方案》

經過幾天的嘗試,今天終於能夠實現了,不過是用Squid2.6+Apache2.2組合才實現的.主要是Squid實在是設置不來.
大概就是:我首先使用squid設置反向代理,目標為本機的8080埠,而Apache監聽本機8080埠,利用Apache的跳轉功能實現對目標伺服器的訪問.而且目標伺服器的IP地址正好被squid的域名給遮蓋,這下就不會泄露目標伺服器的位置.
雖然很想用squid直接實現這樣的功能,但我怎麼設置,squid都無法對國外伺服器進行直接代理,沒辦法之下才用了這種辦法.
《解決方案》

發現個很大的錯誤.....如果是IP跳轉的話直接用apache就可以遮蓋掉原來的IP地址了,看來還是不成功,squid配置了根本就沒起什麼作用,完全跳過它都可以....鬱悶,一時高興過頭了,哎....

[ 本帖最後由 danyjiang 於 2008-10-27 21:11 編輯 ]
《解決方案》

我之前根據saman的配置改過之後,總是提示The requested URL could not be retrieved",看的鬱悶,不知道有誰知道是哪裡錯不....摸索了半天也沒弄明白,挺丟人的,嘿嘿,有哪位知道原因的還希望多多指導...
《解決方案》

發現把cache_peer_domain 這個屬性給直接去掉就可以了......現在apache也不需要了....弄了半天,轉了個大大的彎路,結果找到就哪么點小問題,真是無奈....:mrgreen: :mrgreen: :mrgreen:
《解決方案》

如果反向代理的域名是虛擬主機就需配置cache_peer_domain ,反之可忽略此參數。但即使加該參數在我這也不影響訪問,不知道跟樓主的有何不同。可否將你現在的配置貼出來?

[火星人 ] 為國外的web伺服器添加一個國內的反向代理伺服器!已經有380次圍觀

http://coctec.com/docs/service/show-post-26326.html