1. 程式人生 > >代理伺服器Squid,Nginx

代理伺服器Squid,Nginx

代理伺服器:Squid,Nginx

正向代理(透明代理) squid  nginx
     作用:讓內網使用者上網,快取(記憶體,硬碟),加快訪問速度,節約通訊頻寬
             訪問控制ACL實現對使用者上網行為進行控制(時間、網站、內容...)
          防止內部主機受到攻擊
反向代理  squid,nginx
     作用:給網站加速
================================================================
[[email protected] ~]# iptables -F
[[email protected]
~]# iptables -t nat -F

[[email protected] ~]# service iptables save


==squid:
軟體包:squid
埠: 3128/tcp預設
配置檔案:/etc/squid/squid.conf
日誌檔案: /var/log/squid


正向代理
client(192.168.2.168)--->eth0(192.168.2.10)squid Server(1.1.1.1)eth1 --> Web(1.1.1.100)
一、配置squid
# yum -y install squid
# vim /etc/squid/squid.conf
http_port 3128          //squid監聽的埠

cache_mem 16000 MB     //設定squid記憶體緩衝大小
cache_dir ufs /var/spool/squid 50000 16 256     //設定squid硬碟緩衝大小
cache_effective_user squid
cache_effective_group squid
dns_nameservers 202.106.0.20 8.8.8.8
cache_mgr [email protected]

===========================================================
# service squid start
init_cache_dir /var/spool/squid... /etc/init.d/squid: line 62:  5504 已放棄              

$SQUID -z -F -D >> /var/log/squid/squid.out 2>&1
啟動 squid:/etc/init.d/squid: line 42:  5505 已放棄              
$SQUID $SQUID_OPTS >> /var/log/squid/squid.out 2>&1
[失敗]

visible_hostname squid
=========================================================

# service squid start
# chkconfig squid on
[[email protected] ~]# netstat -tnlp |grep :3128
tcp        0      0 0.0.0.0:3128         0.0.0.0:*   LISTEN      5526/(squid) 

從客戶端測試代理伺服器:
瀏覽器:需要手工設定代理
測試結果:代理服務預設不為任何主機代理


解決方案:
ACL,限制使用者訪問(時間、目標網站、內容...)
# vim /etc/squid/squid.conf
/INSERT
方案一:為所有主機代理
acl all src 0.0.0.0/0.0.0.0
http_access allow all

方案二:為部分主機代理
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
acl it_net src 192.168.2.0/24
http_access allow it_net
# service squid reload


案例1:允許192.168.2.0/24網段的主機使用squid
acl it_net src 192.168.2.0/24
http_access allow it_net

案例2: 允許192.168.2.0/24網段的主機使用squid,(週一到週五 9:00-16:00)
acl it_net src 192.168.2.0/24
acl worktime time MTWHF 9:00-16:00
http_access allow it_net worktime

案例3 拒絕主機
acl wangcheng src 192.168.2.168
http_access deny wangcheng

案例4 禁止使用者訪問URL包含qq.com網站,-i忽略大小寫
acl disable_web url_regex -i qq.com
http_access deny disable_web

案例5 禁止使用者下載*.mp3 *.exe *.iso
acl disable_down urlpath_regex -i \.mp3$ \.exe$ \.iso$                 \\ . 點需要轉義下,不轉義的話代表任意單個字元。
http_access deny disable_down

=============================================================
acl all src 0.0.0.0/0.0.0.0
acl it_net src 192.168.2.0/24
acl hr_net src 192.168.3.0/24
acl worktime time MTWHF 9:00-16:00
acl disable_web url_regex -i qq.com
acl disable_down urlpath_regex -i \.mp3$ \.exe$ \.iso$
acl wangcheng src 192.168.2.168

http_access deny wangcheng
http_access deny disable_down
http_access deny disable_web
http_access allow it_net
http_access allow hr_net worktime
http_access deny all
=============================================================

透明代理(以正向代理為基礎)
代理伺服器:IP 192.168.2.10
          http_port: 3128
1. iptables資料包重定向
[[email protected] ~]# iptables -t nat -F
[[email protected] ~]# iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 3128
[[email protected] ~]# service iptables save

2. squid支援透明代理
[[email protected] ~]# vim /etc/squid/squid.conf
http_port 3128 transparent
[[email protected] ~]# service squid reload

注意:客戶端必須將資料包發給代理伺服器


反向代理
============================
[[email protected] ~]# service iptables stop
client(192.168.2.115)--->          前端反向代理伺服器(192.168.2.10) --> Web(192.168.2.108)
本身已經可以訪問Internet          前端反向代理伺服器(192.168.2.168)     前端反向代理伺服器(192.168.2.169)。。。。。。。。。。。。。。。    
一、配置squid
# service iptables stop
# yum -y install squid
# vim /etc/squid/squid.conf
cache_mem 16000 MB     //設定squid記憶體緩衝大小
cache_dir ufs /var/spool/squid 50000 16 256     //設定squid硬碟緩衝大小,
cache_effective_user squid
cache_effective_group squid
dns_nameservers 202.106.0.20 8.8.8.8
cache_mgr [email protected]

http_port 80 vhost     //反向代理
cache_peer 192.168.2.108 parent 80 0          //源站
acl all src 0.0.0.0/0.0.0.0
http_access allow all

cache_peer Web伺服器地址 伺服器型別 http埠 icp埠 選項
cache_peer 192.168.2.108 parent 80 0

=========================================================
給一個源站做反向代理
cache_peer 192.168.2.108 parent 80 0         

給多個源站做反向代理
cache_peer 192.168.2.100 parent 80 0 originserver weight=1 name=tianyun
cache_peer 192.168.2.120 parent 80 0 originserver weight=1 name=uplooking
cache_peer 192.168.2.130 parent 80 0 originserver weight=1 name=126
cache_peer_domain tianyun www.tianyun.com
cache_peer_domain uplooking www.uplooking.com
cache_peer_domain 126 www.126.com
============================================================
如果啟動失敗,檢查80埠是否被佔用


從客戶端測試:必須使用域名訪問
/etc/hosts
192.168.2.10     www.tianyun.com www.uplooking.com www.126.com
反向代理伺服器


相關推薦

代理伺服器SquidNginx

代理伺服器:Squid,Nginx正向代理(透明代理) squid  nginx     作用:讓內網使用者上網,快取(記憶體,硬碟),加快訪問速度,節約通訊頻寬             訪問控制ACL實現對使用者上網行為進行控制(時間、網站、內容...)         

request.getRequestURL() 獲取伺服器地址 nginx反向代理 host配置與spring boot中內嵌的tomcat的配合使用

tomcat使用了nginx反向代理,獲取的伺服器路徑變成了nginx中配置的內網地址,如果在同一臺伺服器上,就變成了127

ubuntu 使用代理伺服器 squid

一、代理伺服器 簡介:   代理伺服器是目前網路中常見的伺服器之一,它可以提供檔案 快取、複製和地址過濾等服務,充分利用有限的出口頻寬,加快 內部主機的訪問速度,也可以解決多使用者需要同時訪問外網但公 有IP地址不足的問題。同時可以作為一個防火牆,隔離內網與外 網,並且能提供監控網路和記錄傳輸資訊的功

正向代理伺服器 squid

1. 檢 查squid 軟體包安裝其情況  rpm -qa|grep squid 2. 如果未安裝,則使用 yum 方式安裝  yum -y install squid 3. 設定服務開機自啟動  chkconfig --level 35 squid on 4. 編輯 squid 的主配置檔案 /etc

windows下代理伺服器配置以及通過代理共享上網

ListltStringgtlist=null這一句話是對的,但是我不明白,List是一個介面,為什麼可以定義物件 ListltStringgtlist=null這一句話是對的,但是我不明白,List是一個介面,為什麼可以定義物件 ListltStringgtlist=nul

SocksProxy代理伺服器下載附IE使用socks代理的方法

c#編寫的socks代理伺服器支援sock4 sock4a sock5 sock5支援tcp和udp sock5支援匿名模式和使用者名稱密碼驗證模式 執行需.net framework 2.0 很多人都以為ie只能用http代理而不能用socks代理,所以就用po

Chrome 代理伺服器錯誤連線不了網的解決方法

新安裝的chrome瀏覽器,輸入網址出現如下頁面,連線不了網(ERR_PROXY_CONNECTION_FAILED): 解決方法:開啟設定頁面中的高階,如下: 再點開系統中的開啟代理設定,

nginx代理跨域根據路徑引數改變目標伺服器地址

我們都知道nginx是可以做跨域代理的: location ^~ /visited-path/ { proxy_pass http://another-domain/; } 舉個例子:假如我們的代理伺服器域名為proxy.com location ^~ /exte

同一伺服器下配置多域名去掉Tomcat埠號Nginx反向代理做轉發

1. 開啟nginx,資源管理器檢視開啟是否成功,會有兩個nginx.exe程序,瀏覽器輸入127.0.0.1可以訪問到nginx歡迎介面。 2. 在nginx配置檔案nginx.conf中配置多個虛擬主機,即server,用於存放不同的域名(server_name),虛擬

Nginx 作為代理伺服器載入JS檔案報錯net::ERR_CONTENT_LENGTH_MISMATCH

檢視nginx 日誌發現報錯 [[email protected] logs]# tail error.log 2016/11/11 15:04:20 [crit] 8655#0: *21 open() "/usr/local/nginx/

Nginx反向代理80埠實現同一臺伺服器多個80埠

下載nginx 地址:http://nginx.org/download/nginx-1.9.12.zip 首先確認伺服器釋放80埠 以管理員身份cmd 執行nginx 生效後在conf資料夾中找到 nginx.conf檔案編輯 server { listen 80;

在虛擬機器上搭建代理伺服器使用squid

下面介紹一下使用squid來搭建虛擬機器代理伺服器(簡單配置方式的介紹) 安裝squid: sudo apt-get install squid 修改該配置檔案: cd /etc/squid3 && ls得到檔案目錄如下: . ├── errorp

Linux CentOS7部署ASP.NET Core應用程式並配置Nginx反向代理伺服器

前言:   本篇文章主要講解的是如何在Linux CentOS7作業系統搭建.NET Core執行環境併發布ASP.NET Core應用程式,以及配置Nginx反向代理伺服器。因為公司的專案一直都是託管在Window伺服器IIS上,對於Linux伺服器上託管.NET Core專案十分好奇。因為好奇,因此就有了

使用ansible結合keepalived高可用nginx反向代理部署小型企業環境

ansible自動部署 keepalived高可用 nginx反向代理 mysql數據庫 前言: ansible作為一款靈活、高效、功能豐富的自動化部署工具在企業運維管理中備受推崇。本文演示使用ansible部署小型企業服務框架,實現高可用、負載均衡的目標。如有錯誤敬請賜教。目標環境拓撲

LNMP(nginx防盜鏈訪問控制解析php相關配置Nginx代理常見502問題)

端口 eal val request bmp 方案 theme lob www 一、nginx防盜鏈nginx防盜鏈:[root@lnmp ~]# vim /usr/local/nginx/conf/vhost/test.com.conf 添加以下內容location

Nginx防盜鏈以及訪問控制Nginx解析php配置和代理

NginxNginx防盜鏈 1.編輯配置文件: [root@weixing01 ~]# vim /usr/local/nginx/conf/vhost/test.com.conf location ~* ^.+\.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jp

如何使用Squid服務來構建=》傳統和透明代理服務器通俗易懂!

bdb changelog 控制 error log out blog dex web 1、緩存代理概述: 作為應用層的代理服務軟件,Squid主要提供緩存加速和應用層過濾控制的功能 2、代理的工作機制: (1)當客戶機通過代理來請求web頁面時,指定的代理服務器會先檢查自

thinkphp3.2在ubantu上的nginx伺服器path_info模式的部署

要想是pathinfo模式的話,首先需要再配置檔案中設定:'URL_MODEL'=>1, 然後,ngixn配置檔案為: server {         listen 80;      

vue-cli webpack打包釋出到nginx伺服器nginx.conf配置

server { listen 80; root /var/www/web/; index index.php index.html index.htm; server_name www.web.com;

nginx反向代理伺服器的安裝

1.解壓 tar zxvf nginx-1.8.1.tar.gz 2.安裝依賴 需要用到的依賴gcc-c++,zlib-devel,pcre-devel yum install gcc-c++ zlib-devel pcre-devel 3.配置與檢測(解壓目錄下進行) 建立