squid 启用https反向代理代理

本文详细介绍在CentOS7环境下如何通过Squid设置HTTPS代理,包括安装Squid及其依赖、生成加密代理证书、配置squid.conf文件、启动及重启Squid服务等步骤。

启用https代理,顾名思义就是在访问squid代理的时候使用https.

环境centos7

第一步:安装squid和相关依赖
[root@openstack ~]# yum install -y gcc openssl openssl-devel #依赖软件要先提前安装
[root@openstack ~]# yum install squid
[root@openstack ~]# cd /etc/squid/
[root@openstack squid]# cp squid.conf squid.conf_bak

第二步:生成加密代理证书
1、查看当前目录
查看当前目录
2、开始生成证书
输入:openssl req -new > mybank.csr
输入密码
输入密码(记下此密码)例如:123456
再次输入密码
输入123456
填写相关信息
填写相关信息
输入秘钥和证书名
输入秘钥和证书名。
接着继续输入:openssl rsa -in privkey.pem -out mybank.key
继续输入
继续输入: openssl x509 -in mybank.csr -out mybank.crt -req -signkey mybank.key -days 3650
继续输入
这里-days 3650,是指这个mybank.crt的有效期是3650天

3、修改squid的配置文件squid.conf
    用文本编辑器打开 /etc/squid/squid.conf,修改前备份一下配置文件,需要修改的地方:
   a、配置squid监听的端口
        找到http_port 3128在后面增加一行
        https_port 443 accel vhost cert=/etc/squid/mybank.crt key=/etc/squid/mybank.key

        注解:
        443 :squid将会监听的端口
        Transparent :透明模式,即不需要客户端做特殊的配置
   b、配置squid代理的服务的ip地址和端口号
        添加cache_peer 192.168.0.137 parent 80 0 no-query originserver

        注解:
            192.168.1.8 : 需要squid代理的服务器的ip
            7001 :需要squid代理的服务器指定服务的端口号

    c、在cache_peer 192.168.0.137 parent 80 0 no-query originserver下面添加visible_hostname volcano(任意命名)

        注解:
   Volcano :可以根据集体情况任意配置
     d、找到http_access deny all在其前面加#将这一行注释掉,然后增加一行
    http_access allow all

        注解:
       http_access allow all :squid访问权限的控制,允许所有人访问
4、启动或重启squid
    a、检查squid.conf是否符合要求
        squid -k parse
    b、重新加载squid.conf
        service squid reload
    c、重启squid
        service squid restart
    d、检查squid状态
        service squid status
### 在 CentOS 7 上配置 Squid 反向代理的详细步骤和配置文件示例 在 CentOS 7 上配置 Squid 作为反向代理需要进行以下操作,包括安装、配置以及测试。以下是完整的指南: #### 1. 安装 Squid 首先,确保系统已更新并安装 Squid 软件包: ```bash sudo yum update -y sudo yum install squid -y ``` #### 2. 配置 Squid 反向代理 编辑 Squid 的主配置文件 `/etc/squid/squid.conf`。以下是配置文件的一个示例,假设目标服务器为 `http://example.com`,监听端口为 `3128`。 ```bash # 清空原有配置或备份原有配置 sudo mv /etc/squid/squid.conf /etc/squid/squid.conf.bak sudo touch /etc/squid/squid.conf sudo chmod 644 /etc/squid/squid.conf ``` 将以下内容写入 `/etc/squid/squid.conf` 文件中: ```conf # 定义 ACL 规则 acl localnet src 0.0.0.0/8 # RFC 1122 "this" network (LAN) acl localnet src 10.0.0.0/8 # RFC 1918 local private network (LAN) acl localnet src 100.64.0.0/10 # RFC 6598 shared address space (CGN) acl localnet src 169.254.0.0/16 # RFC 3927 link-local (directly plugged) machines acl localnet src 172.16.0.0/12 # RFC 1918 local private network (LAN) acl localnet src 192.168.0.0/16 # RFC 1918 local private network (LAN) acl localnet src fc00::/7 # RFC 4193 local private network range acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines # HTTP 监听端口 http_port 3128 # 反向代理设置 cache deny all http_access allow localnet http_access deny all # 定义目标服务器 accelerated_domains .example.com http_port 80 accel defaultsite=example.com vhost cache_peer example.com parent 80 0 no-query originserver name=myAccel always_direct allow myAccel # 日志文件路径 access_log /var/log/squid/access.log squid ``` 上述配置中: - `http_port 3128` 表示 Squid 监听的端口为 3128[^1]。 - `http_port 80 accel defaultsite=example.com vhost` 表示启用反向代理功能,并指定默认站点为 `example.com`[^2]。 - `cache_peer example.com parent 80 0 no-query originserver name=myAccel` 定义了目标服务器地址和端口[^3]。 #### 3. 启动和启用 Squid 服务 保存配置文件后,启动并启用 Squid 服务: ```bash sudo systemctl start squid sudo systemctl enable squid ``` 检查 Squid 服务状态: ```bash sudo systemctl status squid ``` #### 4. 测试反向代理 通过浏览器或 `curl` 命令测试反向代理是否正常工作。例如: ```bash curl -I http://localhost/ ``` 如果一切正常,应该可以看到目标服务器(如 `example.com`)返回的响应头信息。 #### 5. 防火墙设置 确保防火墙允许 HTTP 和 HTTPS 流量: ```bash sudo firewall-cmd --permanent --add-port=80/tcp sudo firewall-cmd --permanent --add-port=443/tcp sudo firewall-cmd --reload ``` --- ### 注意事项 - 确保目标服务器(如 `example.com`)可以正常访问。 - 如果需要支持 HTTPS,请使用 SSL Bump 功能,但这需要额外的证书配置[^4]。 - 日志文件位于 `/var/log/squid/access.log`,可以查看请求日志以排查问题。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值