使用squid搭建http和https的代理服务器设置指南

 更新时间:2018年12月27日 11:07:52   作者:liumiaocn  
今天小编就为大家分享一篇关于使用squid搭建http和https的代理服务器设置指南,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

我们曾经在介绍nginx的时候顺便使用nginx做过正向代理的设定,但是如果希望支持https的话,直接使用nginx则较为困难,而使用在这方面术业有专攻的squid则要简单的多。这篇文章用于记录在centos7上安装和设定squid3.5来实现http和https的步骤。

机器配置

[root@liumiaocn ~]# uname -a
Linux mail.163.com 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[root@liumiaocn ~]# 
[root@liumiaocn ~]# cat /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core) 
[root@liumiaocn ~]#

安装squid

安装命令: yum install squid

确认版本

版本确认: rpm -qa |grep squid

[root@liumiaocn ~]# rpm -qa |grep squid
squid-migration-script-3.5.20-12.el7.x86_64
squid-3.5.20-12.el7.x86_64
[root@liumiaocn ~]# 

确认ip_forward

ip_forward需要设定为1,缺省centos已设定,详细如下:

[root@liumiaocn ~]# sysctl -a |grep -w ip_forward
net.ipv4.ip_forward = 1
[root@liumiaocn ~]# 

修改设定文件

修改前

[root@liumiaocn ~]# grep -n 'http_access deny all' /etc/squid/squid.conf
56:http_access deny all
[root@liumiaocn ~]#

修改后

[root@liumiaocn ~]# grep -n http /etc/squid/squid.conf |grep -w all
56:http_access allow all
[root@liumiaocn ~]#

启动squid

systemctl start squid

问题1:libssl错误

启动squid时提示如下错误

squid: relocation error: squid: symbol SSL_set_alpn_protos, version libssl.so.10 not defined in file libssl.so.10 with link time reference

原因:未安装openssl

对应方法: yum install openssl

安装之后启动squid即可:

[root@liumiaocn ~]# systemctl start squid
[root@liumiaocn ~]# systemctl status squid
● squid.service - Squid caching proxy
  Loaded: loaded (/usr/lib/systemd/system/squid.service; disabled; vendor preset: disabled)
  Active: active (running) since Tue 2018-06-05 20:07:56 CST; 8s ago
 Process: 28548 ExecStart=/usr/sbin/squid $SQUID_OPTS -f $SQUID_CONF (code=exited, status=0/SUCCESS)
 Process: 28540 ExecStartPre=/usr/libexec/squid/cache_swap.sh (code=exited, status=0/SUCCESS)
 Main PID: 28551 (squid)
  Memory: 14.3M
  CGroup: /system.slice/squid.service
      ├─28551 /usr/sbin/squid -f /etc/squid/squid.conf
      ├─28553 (squid-1) -f /etc/squid/squid.conf
      └─28557 (logfile-daemon) /var/log/squid/access.log
Jun 05 20:07:56 liumiaocn systemd[1]: Starting Squid caching proxy...
Jun 05 20:07:56 liumiaocn squid[28551]: Squid Parent: will start 1 kids
Jun 05 20:07:56 liumiaocn squid[28551]: Squid Parent: (squid-1) process 28553 started
Jun 05 20:07:56 liumiaocn systemd[1]: Started Squid caching proxy.
[root@liumiaocn ~]#

问题2:无法进行域名解析

此时发现无法使用域名只能使用ip来访问

原因:dns未配置,在squid的配置文件中添加8.8.8.8和8.8.4.4

[root@liumiaocn ~]# grep nameserver /etc/squid/squid.conf
dns_nameservers 8.8.8.8 8.8.4.4
[root@liumiaocn ~]# 
[root@liumiaocn ~]# systemctl restart squid
[root@liumiaocn ~]#

客户端的访问

squid的缺省port为3128,在这里没有修改,在客户端使用如下方式即可访问:

http方式

export http_proxy=http://192.168.163.117:3128
curl http://www.baidu.com

https方式

export https_proxy=http://192.168.163.117:3128
curl https://www.baidu.com

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • PHP程序员玩转Linux系列 自动备份与SVN

    PHP程序员玩转Linux系列 自动备份与SVN

    这篇文章主要为大家详细介绍了PHP程序员玩转Linux系列文章,学习自动备份与SVN教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • linux 类型  版本 内存 磁盘 查询命令介绍

    linux 类型  版本 内存 磁盘 查询命令介绍

    这篇文章介绍了linux 类型 、版本、内存、磁盘 查询命令,希望本篇文章可以帮助到大家的学习,喜欢本篇文章可以收藏一下方便下次浏览
    2021-11-11
  • linxu服务器上nginx启动、关闭、配置检查命令(推荐)

    linxu服务器上nginx启动、关闭、配置检查命令(推荐)

    这篇文章主要介绍了linxu服务器上nginx启动、关闭、配置检查命令,文章内容比较简单,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07
  • Linux下执行java程序的方法

    Linux下执行java程序的方法

    本文通过图文并茂的方式给大家介绍linux下执行java程序的方法,想要在Ubuntu上运行java程序,可以将java程序编译成功后打包,然后在Ubuntu上用命令执行jar文件,具体详情请参考本文
    2016-10-10
  • 详解CentOS升级Python2.6到Python2.7并安装pip

    详解CentOS升级Python2.6到Python2.7并安装pip

    本篇文章主要介绍了CentOS升级Python2.6到Python2.7并安装pip,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-03
  • Linux常见英文报错中文翻译(菜鸟必知)

    Linux常见英文报错中文翻译(菜鸟必知)

    这篇文章主要介绍了Linux常见英文报错中文翻译,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • 在Linux下搭建Git服务器步骤

    在Linux下搭建Git服务器步骤

    本篇文章主要介绍了在Linux下搭建Git服务器步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • linux利用read命令获取变量中的值

    linux利用read命令获取变量中的值

    对于写bash脚本的朋友,read命令是不可或缺的,需要实践一下就可以了解,下面这篇文章主要给大家介绍了关于linux如何利用read命令来获取变量中值的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • 在Centos下安装python

    在Centos下安装python

    这篇文章主要介绍了在Centos下安装python,CentOS是Linux发行版之一,依照开放源代码规定发布的源代码所编译而成,需要的朋友可以参考下
    2023-04-04
  • Linux系统下快速配置HugePages的完整步骤

    Linux系统下快速配置HugePages的完整步骤

    这篇文章主要给大家介绍了关于如何在Linux系统下快速配置HugePages的完整步骤,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11

最新评论