Squid 反向代理配置

Squid 反向代理配置

1、删除主配置文件重写写入配置

rm -f /etc/squid/squid.conf

2、重新写入配置反向代理

vim /etc/squid/squid.conf
# 监听端口
# 修改端口80 accel vhost vport 为反向代理
http_port 80  accel vhost vport
# cache_peer 代理IP 端口 0 originserver  name=a "a"代表一个域名
cache_peer 123.125.119.147 parent 80 0 originserver name=a
cache_peer 61.135.169.125 parent 80 0 originserver name=b
# 设置a的域名为 www.qq.com
cache_peer_domain a www.qq.com
cache_peer_domain b www.baidu.com
# acl权限控制
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl SSL_ports port 443
acl Safe_ports port 80 8080         # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access allow localhost
http_access allow all
# 缓存文件格式 aufs 缓存路径 目录1024大小MB 16子目录 256子子目录   
cache_dir aufs /data/cache 1024 16 256
# 内存占用大小
cache_mem 128 MB
hierarchy_stoplist cgi-bin ?
coredump_dir /var/spool/squid
# 以某个字符开头的进行缓存缓存10080秒
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
# 以某个字符结尾的进行缓存 缓存2880秒
refresh_pattern \.(jpg|png|gif|mp3|xml) 1440    50%     2880    ignore-reload
refresh_pattern .               0       20%     4320
反向代理/单个添加IP
# 监听端口
# 修改端口80 accel vhost vport 为反向代理
http_port 80  accel vhost vport
# cache_peer 服务器IP 端口 originserver代理该服务端所有域名
cache_peer 61.135.169.125 parent 80 0 originserver
# acl权限控制
acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl localnet src 10.0.0.0/8     # RFC1918 possible internal network
acl localnet src 172.16.0.0/12  # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl SSL_ports port 443
acl Safe_ports port 80 8080         # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localnet
http_access allow localhost
http_access allow all
# 缓存文件格式 aufs 缓存路径 目录1024大小MB 16子目录 256子子目录   
cache_dir aufs /data/cache 1024 16 256
# 内存占用大小
cache_mem 128 MB
hierarchy_stoplist cgi-bin ?
coredump_dir /var/spool/squid
# 以某个字符开头的进行缓存缓存10080秒
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
# 以某个字符结尾的进行缓存 缓存2880秒
refresh_pattern \.(jpg|png|gif|mp3|xml) 1440    50%     2880    ignore-reload
refresh_pattern .               0       20%     4320
反向代理/单服务器上所有IP

3、查看语法是否有错

squid -kcheck
报错

4、添加目录权限

# 创建缓存目录
mkdir /data/cache
# 该目录赋予squid用户所属权限
chown -R squid:squid /data/cache/
# 初始化目录
squid -z

5、重启服务

/etc/init.d/squid stop
/etc/init.d/squid start

6、查看启动情况

查看启动进程

Squid 反向代理测试

1、访问未代理域名,503错误
curl -xlocalhost:80 www.qqfdsfds.com -I
HTTP/1.0 503 Service Unavailable
2、访问已代理域名,200正常
curl -xlocalhost:80 www.baidu.com -I
HTTP/1.0 200 OK

 

转载于:https://www.cnblogs.com/xiangsikai/p/8409256.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于nginx和squid反向代理实验,我可以为您提供一些基本的指导和概念说明。 首先,nginx和squid都是常用的反向代理服务器软件。它们的主要功能是接收客户端请求,并将这些请求转发到后端的服务器上,然后将响应返回给客户端。这种反向代理的架构可以提供负载均衡、缓存、安全性等优势。 在进行实验之前,您需要确保已经安装了nginx和squid。安装方法可以参考官方文档或者相关的教程。 对于nginx,您可以通过修改nginx配置文件来配置反向代理。主要的配置项是`proxy_pass`,它指定了需要转发的后端服务器地址。您可以根据需要添加其他的配置项,如负载均衡策略、缓存设置等。 下面是一个简单的nginx反向代理配置示例: ```nginx server { listen 80; server_name example.com; location / { proxy_pass http://backend_server; } } ``` 在上面的示例中,所有请求都会被转发到`http://backend_server`这个后端服务器上。 对于squid,您可以通过编辑squid配置文件来配置反向代理。主要的配置项是`cache_peer`,它指定了需要转发的后端服务器地址。您可以根据需要添加其他的配置项,如缓存设置、访问控制等。 下面是一个简单的squid反向代理配置示例: ``` http_port 3128 http_access allow all cache_peer backend_server parent 80 0 no-query originserver acl our_sites dstdomain example.com http_access allow our_sites cache_peer_access backend_server allow our_sites ``` 在上面的示例中,squid监听在3128端口,所有请求都会被转发到`backend_server`这个后端服务器上。同时,针对example.com这个域名的请求会被允许访问。 请注意,以上只是简单的示例配置,实际的配置可能还涉及到其他方面的设置,如安全性、性能优化等。 希望以上信息能对您有所帮助!如果您有任何进一步的问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值