導航:首頁 > IDC知識 > 正向代理伺服器

正向代理伺服器

發布時間:2020-08-15 21:12:07

1、路由器能稱為正向代理嗎

可以做正向代理。
一、正向代理的概念
正向代理是一個位於客戶端和原始伺服器(origin server)之間的伺服器,為了從原始伺服器取得內容,客戶端向代理發送一個請求並指定目標(原始伺服器),然後代理向原始伺服器轉交請求並將獲得的內容返回給客戶端。
客戶端必須要進行一些特別的設置才能使用正向代理。
下面以Nginx為例介紹如何搭建正向代理伺服器。
二、Nginx正向代理配置


server { resolver 8.8.8.8; resolver_timeout 5s; listen 81; location / { allow 192.168.0.0/24; deny all; proxy_pass $scheme://$host$request_uri; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $host; proxy_set_header X-Forwarded-For $host; proxy_buffering on; proxy_buffer_size 32k; proxy_busy_buffers_size 256k; proxy_buffers 256 4k; proxy_max_temp_file_size 0; proxy_connect_timeout 30; proxy_cache_valid 200 302 10m; proxy_cache_valid 301 1h; proxy_cache_valid any 1m; } access_log off; #access_log /var/log/nginx/proxy_access.log

2、如何在Linux上用Squid搭建代理伺服器

squid是所有服務裡面最簡單的我覺得
以RHEL7為例,它分成了正向代理和反向代理,正向代理里又分「標准正向代理」,「ACL訪問控制」以及「透明正向代理」。下面是標准正向代理

16.3 正向代理

16.3.1 標准正向代理

Squid服務程序軟體包在正確安裝並啟動後默認就已經可以為用戶提供標准正向代理模式服務了,而不需要單獨再去修改配置文件或者其他操作,咱們可以立即在Windows7系統的客戶端主機上面打開任意一款瀏覽器,然後點擊Internet選項標簽,如圖16-4所示:
[root@linuxprobe ~]# systemctl restart squid
[root@linuxprobe ~]# systemctl enable squid
ln -s '/usr/lib/systemd/system/squid.service' '/etc/systemd/system/multi-user.target.wants/squid.service'
用戶要想使用Squid服務程序提供的標准正向代理模式服務就必須在瀏覽器中填寫伺服器的IP地址以及埠號信息,因此咱們還需要依次點擊連接標簽後點擊區域網設置選項,如圖16-5與圖16-6所示填寫伺服器信息後保存退出配置向導。

用戶只需要在瀏覽器中簡單的填寫配置信息就可以開始享用Squid服務程序提供的代理服務了,此時作為一個網卡為僅主機模式(Hostonly)的虛擬機,開始也奇跡般的能夠上網瀏覽了,這一切都是托代理伺服器轉發的功勞哦~

如此公開而沒有密碼驗證的代理服務終歸覺得不放心,萬一有其他人也來「蹭網」咱們的代理服務怎麼辦呢?Squid服務程序默認的會佔用3128、3401與4827等埠號,咱們可以將默認佔用的埠號修改成其他值,這樣應該能起到一定的保護作用吧~同學們都知道在Linux系統配置服務程序就是在修改該服務的配置文件,因此直接在/etc目錄中找到和squid服務程序同名目錄中的配置文件,把其中http_port參數後面原有3128修改為10000,這樣即是將Squid服務程序的代理服務埠修改成了新值,當然最後不要忘記再重啟下服務程序哦~:
[root@linuxprobe ~]# vim /etc/squid/squid.conf
………………省略部分輸出信息………………
45 #
46 # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
47 #
48
49 # Example rule allowing access from your local networks.
50 # Adapt localnet in the ACL section to list your (internal) IP networks
51 # from where browsing should be allowed
52 http_access allow localnet
53 http_access allow localhost
54
55 # And finally deny all other access to this proxy
56 http_access deny all
57
58 # Squid normally listens to port 3128
59 http_port 10000
60
http_port 10000
………………省略部分輸出信息………………
[root@linuxprobe ~]# systemctl restart squid
[root@linuxprobe ~]# systemctl enable squid
ln -s '/usr/lib/systemd/system/squid.service' '/etc/systemd/system/multi-user.target.wants/squid.service'

同學們有沒有突然覺得這一幕似曾相識?在前面的第十章10.5.3小節咱們學習過基於埠號來部署httpd服務程序的虛擬主機功能,當時在編輯完配置文件後重啟服務程序時被直接提示報錯了,雖然現在重啟服務程序並沒有直接報錯,但其實客戶並不能使用代理服務呢,SElinux安全子系統認為Squid服務程序使用3128埠號是理所應當的,默認策略規則中也是允許的,但現在卻在嘗試使用新的10000埠號,這是原本並不屬於Squid服務程序應該使用的系統資源,因此咱們需要手動把新的埠號添加到squid服務程序在SElinux域的允許列表中即可:
[root@linuxprobe ~]# semanage port -l | grep -w -i squid_port_t
squid_port_t tcp 3128, 3401, 4827
squid_port_t udp 3401, 4827
[root@linuxprobe ~]# semanage port -a -t squid_port_t -p tcp 10000
[root@linuxprobe ~]# semanage port -l | grep -w -i squid_port_t
squid_port_t tcp 10000, 3128, 3401, 4827
squid_port_t udp 3401, 4827

更多的圖文信息以及其他的代理方式你可以看下http://www.linuxprobe.com/chapter-16.html#161這篇,講的非常詳細,相信能解決你的問題

3、nginx http正向代理伺服器 驗證是否能上網

1,配置 DNS 解析 IP 地址,比如 Google Public DNS,以及超時時間(5秒)。
resolver 8.8.8.8;
resolver_timeout 5s;

2,配置正向代理參數,均是由 Nginx 變數組成。其中 proxy_set_header 部分的配置,是為了解決如果 URL 中帶 "."(點)後 Nginx 503 錯誤。
proxy_pass $scheme://$host$request_uri;
proxy_set_header Host $http_host;

3,配置緩存大小,關閉磁碟緩存讀寫減少I/O,以及代理連接超時時間。
proxy_buffers 256 4k;
proxy_max_temp_file_size 0;
proxy_connect_timeout 30;

4,配置代理伺服器 Http 狀態緩存時間。
proxy_cache_valid 200 302 10m;
proxy_cache_valid 301 1h;
proxy_cache_valid any 1m;

4、apache正向代理和反向代理是什麼意思

正向代理,也就是傳說中的代理,他的工作原理就像一個跳板。簡單的說,我是一個用戶,我訪問不了某網站,但是我能訪問一個代理伺服器,這個代理伺服器呢,他能訪問那個我不能訪問的網站,於是我先連上代理伺服器,告訴他我需要那個無法訪問網站的內容,代理伺服器去取回來,然後返回給我。從網站的角度,只在代理伺服器來取內容的時候有一次記錄。結論就是,正向代理,是一個位於客戶端和原始伺服器(origin

server)之間的伺服器,為了從原始伺服器取得內容,客戶端向代理發送一個請求並指定目標(原始伺服器),然後代理向原始伺服器轉交請求並將獲得的內容返回給客戶端。客戶端必須要進行一些特別的設置才能使用正向代理。
反向代理.舉例:
例用戶訪問 http://ooxx/readme但ooxx上並不存在readme頁面他是偷偷從另外一台伺服器上取回來,然後作為自己的內容吐給用戶
但用戶並不知情這很正常,用戶一般都很笨
這里所提到的 ooxx這個域名對應的伺服器就設置了反向代理功能
結論就是
反向代理正好相反,對於客戶端而言它就像是原始伺服器,並且客戶端不需要進行任何特別的設置。客戶端向反向代理
的命名空間(name-space)中的內容發送普通請求,接著反向代理將判斷向何處(原始伺服器)轉交請求,並將獲得的內容返回給客戶端,就像這些內容
原本就是它自己的一樣。
正向代理和反向代理的區別,從用途上來講:
正向代理的典型用途是為在防火牆內的區域網客戶端提供訪問Internet的途徑。正向代理還可以使用緩沖特性減少網路使用率。反向代理的典型用途是將
防火牆後面的伺服器提供給Internet用戶訪問。反向代理還可以為後端的多台伺服器提供負載平衡,或為後端較慢的伺服器提供緩沖服務。
另外,反向代理還可以啟用高級URL策略和管理技術,從而使處於不同web伺服器系統的web頁面同時存在於同一個URL空間下。
從安全性來講:
正向代理允許客戶端通過它訪問任意網站並且隱藏客戶端自身,因此你必須採取安全措施以確保僅為經過授權的客戶端提供服務。
反向代理對外都是透明的,訪問者並不知道自己訪問的是一個代理。
開放的反向代理應用:nginx和nat123。nginx是單純的反向代理,需要自行搭建反向代理服務才能使用,效率高。nat123是結合了NAT和反向代理的應用,可以直接使用,解決80埠問題等,速度快。

5、linux apache是否有正向代理

1. 正向代理
配置正向代理很簡單,此處我們配置vhost來實現代理, 只需要在瀏覽器的Proxy選項里加入你的Apache配置的vHost主機即可

1.1 開啟Apache代理模塊並引入vhost配置文件
早http.conf開啟代理模塊
LoadMole proxy_mole moles/mod_proxy.so
LoadMole proxy_connect_mole moles/mod_proxy_connect.so
LoadMole proxy_ftp_mole moles/mod_proxy_ftp.so
LoadMole proxy_http_mole moles/mod_proxy_http.so

引入vhost文件
Include conf/extra/httpd-vhosts.conf

如果你想監聽別的埠, 修改Listen參數
Listen 80
Listen 8087
Listen 8088

將想監聽的埠全都寫上,相應的, 在vhost文件里寫上
NameVirtualHost *:80
NameVirtualHost *:8087
NameVirtualHost *:8088

NameVirtualHost表示vhost匹配的請求的ip和埠那些會取掃描vhost
1.1 Apache配置 httpd-vhosts.conf(以Windows下為例)

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "D:/www/test"
ServerName www.test.com
ServerAlias test.com
ErrorLog "logs/test.com-error.log"
CustomLog "logs/test.com-access.log" common
Alias /sublook "D:/www/test/look/sublook/"
<Directory "D:/www/test">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

#正向代理設置
ProxyRequests On
ProxyVia On

<Proxy *>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Proxy>
</VirtualHost>

先看
<VirtualHost *:80>

VirtualHost 後面的參數表示的是該VHost的IP/域名/和埠, 你可以寫 :
(1) IP: port, 例如 <VirtualHost 175.2.22.65:8088>, 訪問的時候通過IP訪問
(2) Domain, 例如 <VirtualHost www.test1.com>, 訪問的時候通過域名訪問, 也可以指定裡面的ServerName來指定域名
(3) *, 表示匹配所有對Apache監聽主機的請求, 只要是apache監聽到的請求都可以匹配該虛擬主機
此處表示的就是監聽所有80埠的請求, 但是由於ServerName里寫了www.test.com, 所以這個vhost匹配的是www.test.com:80,

現在看正向代理設置那一段
ProxyRequests On:開啟Apache正向代理
ProxyVia On:控制位於代理伺服器鏈中的代理請求的流向
引用Apache2.2官方文檔中對ProxyVia的解釋如下:

如果設置為默認值Off ,將不會採取特殊的處理。如果一個請求或應答包含"Via:"頭,將不進行任何修改而直接通過。
如果設置為On每個請求和應答都會對應當前主機得到一個"Via:"頭。
如果設置為Full ,每個產生的"Via:"頭中都會額外加入Apache伺服器的版本,以"Via:"注釋域出現。
如果設置為Block ,每個代理請求中的所有"Via:"頭行都將被刪除。且不會產生新的"Via:"頭。
<Proxy *>...</Proxy>:用來控制誰可以訪問你的代理
1 <Proxy *>
2 Order deny,allow
3 Deny from all
4 Allow from 127.0.0.1
5 </Proxy>

此處設置為本機可以使用代理,真正使用的時候就自己設置了

6、什麼是反向代理,如何區別反向與正向代理

反向代理是指伺服器根據客戶端的請求,從其關系的一組或多組後端伺服器(如Web伺服器)上獲取資源,然後再將這些資源返回給客戶端,客戶端只會得知反向代理的IP地址,而不知道在代理伺服器後面的伺服器簇的存在。

兩者區別:

1、用途差異

正向代理的典型用途是為在防火牆內的區域網客戶端提供訪問Internet的途徑。正向代理還可以使用緩沖特性減少網路使用率;

反向代理的典型用途是將防火牆後面的伺服器提供給Internet用戶訪問。反向代理還可以為後端的多台伺服器提供負載平衡,或為後端較慢的伺服器提供緩沖服務。

2、安全差異

正向代理允許客戶端通過它訪問任意網站並且隱藏客戶端自身,因此必須採取安全措施以確保僅為經過授權的客戶端提供服務;反向代理對外都是透明的,訪問者並不知道自己訪問的是一個代理。

(6)正向代理伺服器擴展資料:

反向代理工作方式:

1、通常的代理伺服器,只用於代理內部網路對Internet的連接請求,客戶機必須指定代理伺服器,並將本來要直接發送到Web伺服器上的http請求發送到代理伺服器中。

2、由於外部網路上的主機並不會配置並使用這個代理伺服器,普通代理伺服器也被設計為在Internet上搜尋多個不確定的伺服器,而不是針對Internet上多個客戶機的請求訪問某一個固定的伺服器,因此普通的Web代理伺服器不支持外部對內部網路的訪問請求。

3、當一個代理伺服器能夠代理外部網路上的主機,訪問內部網路時,這種代理服務的方式稱為反向代理服務。此時代理伺服器對外就表現為一個Web伺服器,外部網路就可以簡單把它當作一個標準的Web伺服器而不需要特定的配置。

4、不同之處在於,這個伺服器沒有保存任何網頁的真實數據,所有的靜態網頁或者CGI程序,都保存在內部的Web伺服器上。因此對反向代理伺服器的攻擊並不會使得網頁信息遭到破壞,這樣就增強了Web伺服器的安全性。

7、nginx這種反向代理伺服器與正向代理有什麼區別

反向代理是指的,伺服器代理網路上的客戶機請求,將請求轉達給內部真實伺服器,然後在返回給Internet客戶端,代理伺服器上面沒有任何網頁資料。
反向代理和正向代理沒有沖突,可以在防火牆設備中同時使用這兩種結合,正向代理可以進行過濾,保護內部網路安全。

8、什麼是伺服器正向代理?

所謂正向代理是一個位於客戶端和原始伺服器(origin server)之間的伺服器,為了從原始伺服器取得內容,客戶端向代理發送一個請求並指定目標(原始伺服器),然後代理向原始伺服器轉交請求並將獲得的內容返回給客戶端。客戶端必須要進行一些特別的設置才能使用正向代理。
正向代理的典型用途是為在防火牆內的區域網客戶端提供訪問Internet的途徑。正向代理還可以使用緩沖特性(由mod_cache提供)減少網路使用率。
使用ProxyRequests指令即可激活正向代理。因為正向代理允許客戶端通過它訪問任意網站並且隱藏客戶端自身,因此你必須採取安全措施以確保僅為經過授權的客戶端提供服務,就是這個意思。

9、正向代理和反向代理的區別

正向代理,意思是一個位於客戶端和原始伺服器(origin server)之間的伺服器,為了從原始伺服器取得內容,客戶端向代理發送一個請求並指定目標(原始伺服器),然後代理向原始伺服器轉交請求並將獲得的內容返回給客戶端。客戶端才能使用正向代理。
和反向代理不同之處在於,典型的正向代理是一種最終用戶知道並主動使用的代理方式。例如Chrome瀏覽器中安裝了switchysharp以後,通過switchysharp方便地進行代理轉發服務。而為此用戶必須要提前在switchysharp中做好設置才能達到相應的效果。
反向代理(Reverse Proxy)方式是指以代理伺服器來接受internet上的連接請求,然後將請求轉發給內部網路上的伺服器,並將從伺服器上得到的結果返回給internet上請求連接的客戶端,此時代理伺服器對外就表現為一個反向代理伺服器。

10、正向代理與反向代理有什麼區別

在了解正向代理與反向代理之前,我們要普及一個小知識,即Web伺服器。
Web Server中文名稱叫網頁伺服器或Web伺服器,它可以解析(handles)HTTP協議。Web伺服器專門處理HTTP請求(request),但是應用程序伺服器是通過很多協議來為應用程序提供(serves)商業邏輯(business logic)。

接下來進入主題,什麼是正向代理?
正向代理伺服器,用戶可以知道Web服務的資料庫等系統的IP地址和埠號等敏感息,由於暴露了這些關鍵信息,容易遭受到惡意攻擊所以安全性比較差。
正向代理的典型應用就是為火牆內區域網區域網客戶端提供訪問Internet的途徑。其次使用正向代理還可以實使用緩沖特性減少網路使用率以及許可權驗證等功能,如上網許可權。

一般對於企業內部管理系統,使用正向代理的方式,釋放專門的網路帶寬,特定域名實現某些功能只能有部分員工有許可權訪問。

什麼又是反向代理?
反向代理用到了反向代理伺服器,使用反向代理,典型的應用是將防火牆後面的伺服器提供給Intenet用戶訪問,隱藏了Web應用服務,如資料庫的IP地址、埠號等信息,提高了系統的安全性等。同時使用反向代理還可以實現多台伺服器的負載均衡,啟用高級的URL和管理技術,使處於不同Web伺服器系統的Web界面同時存在一個URL空間下,提高系統性能。

對於互聯網行業,如理財應用,為實現系統的安全性,採用反向代理的方式,對用戶隱藏的後台應用的部署方式、結構等敏感信息,提供一個統一的域名和給用戶訪問。

用一句話概述的話:正向代理與反向代理的區別在於代理的對象不一樣,正向代理代理的對象是客戶端,反向代理代理的對象是服務端。

與正向代理伺服器相關的知識