網絡代理已經存在了很長一段時間,并已被全球數百萬用戶使用。它們具有廣泛的用途,最受歡迎的是在線匿名,但還有其他方法可以利用網絡代理。以下是一些想法:
在線匿名提高在線安全性改善加載時間阻止惡意流量記錄您的在線活動規避區域限制在某些情況下可以減少帶寬使用proxy server如何工作
代理服務器是用作客戶端和客戶端可以從中請求資源的其他服務器之間的中介的計算機。一個簡單的例子是當客戶端發出在線請求(例如想要打開網頁)時,他首先連接到代理服務器。
然后代理服務器檢查其本地磁盤緩存,如果可以在那里找到數據,它將把數據返回給客戶端,如果沒有緩存,它將使用代理ip地址代表客戶端發出請求(不同于客戶端)然后將數據返回給客戶端。代理服務器將嘗試緩存新數據,并將其用于將來對同一服務器發出的請求。
什么是squid代理
squid是一個web代理,用于我的各種組織。它通常用作緩存代理,可縮短響應時間并減少帶寬使用。
出于本文的目的,我將在linode centos 7 vps上安裝squid并將其用作http代理服務器。
如何在centos 7上安裝squid
在我們開始之前,您應該知道squid沒有任何最低要求,但ram使用量可能會有所不同,具體取決于通過代理服務器瀏覽internet的客戶端。
squid包含在基本存儲庫中,因此安裝簡單明了。但是,在安裝之前,請確保您的軟件包是最新的。
# yum -y update繼續安裝squid,使用以下命令在系統啟動時啟動并啟用它。
# yum -y install squid# systemctl start squid# systemctl enable squid此時,您的squid web代理應該已經運行,您可以使用以下方式驗證服務的狀態。
# systemctl status squid樣本輸出● squid.service - squid caching proxy loaded: loaded (/usr/lib/systemd/system/squid.service; enabled; vendor preset: disabled) active: active (running) since thu 2018-09-20 10:07:23 utc; 5min ago main pid: 2005 (squid) cgroup: /system.slice/squid.service ├─2005 /usr/sbin/squid -f /etc/squid/squid.conf ├─2007 (squid-1) -f /etc/squid/squid.conf └─2008 (logfile-daemon) /var/log/squid/access.logsep 20 10:07:23 howtoing systemd[1]: starting squid caching proxy...sep 20 10:07:23 howtoing squid[2005]: squid parent: will start 1 kidssep 20 10:07:23 howtoing squid[2005]: squid parent: (squid-1) process 2007 startedsep 20 10:07:23 howtoing systemd[1]: started squid caching proxy.以下是您應該注意的一些重要文件位置:
squid配置文件:/etc/squid/squid.confsquid訪問日志:/var/log/squid/access.logsquid緩存日志:/var/log/squid/cache.log最小的squid.conf配置文件(沒有注釋)如下所示:
acl localnet src 10.0.0.0/8 # rfc1918 possible internal networkacl localnet src 172.16.0.0/12 # rfc1918 possible internal networkacl localnet src 192.168.0.0/16 # rfc1918 possible internal networkacl localnet src fc00::/7 # rfc 4193 local private network rangeacl localnet src fe80::/10 # rfc 4291 link-local (directly plugged) machinesacl ssl_ports port 443acl safe_ports port 80 # httpacl safe_ports port 21 # ftpacl safe_ports port 443 # httpsacl safe_ports port 70 # gopheracl safe_ports port 210 # waisacl safe_ports port 1025-65535 # unregistered portsacl safe_ports port 280 # http-mgmtacl safe_ports port 488 # gss-httpacl safe_ports port 591 # filemakeracl safe_ports port 777 # multiling httpacl connect method connecthttp_access deny !safe_portshttp_access deny connect !ssl_portshttp_access allow localhost managerhttp_access deny managerhttp_access allow localnethttp_access allow localhosthttp_access deny allhttp_port 3128coredump_dir /var/spool/squidrefresh_pattern ^ftp: 1440 20% 10080refresh_pattern ^gopher: 1440 0% 1440refresh_pattern -i (/cgi-bin/|\\?) 0 0% 0refresh_pattern . 0 20% 4320將squid配置為http代理在這里,我們將向您展示如何僅使用客戶端ip地址進行身份驗證,將squid配置為http代理。
添加squid acl如果您希望允許ip地址通過新的代理服務器訪問web,則需要在配置文件中添加新的acl(訪問控制列表)行。
# vim /etc/squid/squid.conf你應該添加的行是:
acl localnet src xx.xx.xx.xx其中xx.xx.xx.xx是您要添加的實際客戶端ip地址。該行應添加到定義acl的文件的開頭。在acl旁邊添加注釋是一個很好的做法,它將描述誰使用此ip地址。
請務必注意,如果squid位于本地網絡之外,則應添加客戶端的公共ip地址。
您需要重新啟動squid,以便新的更改生效。
# systemctl restart squid打開squid代理端口正如您在配置文件中看到的那樣,只允許某些端口進行連接。您可以通過編輯配置文件來添加更多內容。
acl safe_ports port xxx其中xxx是您要加載的實際端口。同樣,最好在旁邊留下評論,以描述將要使用的端口。
要使更改生效,您需要再次重新啟動squid。
# systemctl restart squidsquid代理客戶端身份驗證在使用代理之前,您很可能希望用戶進行身份驗證。為此,您可以啟用基本的http身份驗證。配置簡單快捷。
首先,您需要安裝httpd-tools。
# yum -y install httpd-tools現在讓我們創建一個文件,稍后將存儲用于身份驗證的用戶名。squid使用用戶“squid”運行,因此該文件應歸該用戶所有。
# touch /etc/squid/passwd# chown squid: /etc/squid/passwd現在我們將創建一個名為“proxyclient”的新用戶并設置其密碼。
# htpasswd /etc/squid/passwd proxyclientnew password:re-type new password:adding password for user proxyclient現在配置autnetication打開配置文件。
# vim /etc/squid/squid.conf在端口acl之后添加以下行:
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwdauth_param basic children 5auth_param basic realm squid basic authenticationauth_param basic credentialsttl 2 hoursacl auth_users proxy_auth requiredhttp_access allow auth_users保存文件并重新啟動squid以使新更改生效:
# systemctl restart squid在squid代理上阻止網站最后,我們將創建一個最后的acl,以幫助我們阻止不需要的網站。首先創建將存儲列入黑名單的網站的文件。
# touch /etc/squid/blacklisted_sites.acl您可以添加一些要阻止的域。例如:
.badsite1.com.badsite2.com程序點告訴squid阻止對該站點的所有引用,包括www.badsite1,subsite.badsite1.com等。
現在打開squid的配置文件。
# vim /etc/squid/squid.conf在端口acl之后添加以下兩行:
acl bad_urls dstdomain \/etc/squid/blacklisted_sites.acl\http_access deny bad_urls現在保存文件并重啟squid:
# systemctl restart squid一旦配置正確,現在您可以配置本地客戶端瀏覽器或操作系統的網絡設置以使用您的squid http代理。
結論在本教程中,您學習了如何自己安裝,保護和配置squid http代理服務器。通過您剛剛獲得的信息,您現在可以通過squid為傳入和傳出流量添加一些基本過濾功能。
如果你想加倍努力,你甚至可以配置squid在工作時間阻止一些網站,以防止分心。如果您有任何問題或意見,請在下面的評論部分發布。
密保忘記了手機老早換了-其他問題“淘寶直播”更名“點淘”,阿里此前早申請多條商標用云服務器掛機游戲新手建站怎么買云服務器docker 容器優勢阿里云服務器三折優惠請問數據庫無法操作應該怎么處理建網站之化妝品類型網站怎么做?