linux下PAC正向代理某个网址上网方式

 更新时间:2026年03月02日 08:41:48   作者:只强、  
文章描述了在私有化场景下部署Kubernetes服务,并通过内部代理服务器访问互联网的解决方案,通过创建一个PAC文件的Pod,文章展示了如何配置环境变量并验证代理服务器是否正常工作

使用场景

我们在某些私有化场景下部署服务,一般情况下既然私有化了当然服务器对网络的限制就比较多,一般分两种情况 

第一种彻底不让上网,那我这文章就别看了;

第二种 就是服务器可以通过内部搭建的代理服务器上网,那这一种就可以用我这篇文章做个参考。

简单的架构图

这个是一个简单的k8s架构图 我们的服务是 APP01 APP03 APP03

如APP02 是一个需要请求互联网某个接口的服务,如 https://xxxx.qq.com/xxx/xxx

呐,这个集群是不能上网的 只能通过公司的一个代理服务器上网和请求互联网接口,如图我们是在集群部署一个pac 的pod,至于pac是啥能搜索到我这帖子之前应该都知道了,这里不做啥介绍了,不多BB了

第一创建文件并且打镜像

mkdir  PAC
cd PAC

#创建pac文件
touch pac.action

{{alias}}
default    = +forward-override{forward .} 
pac     = +forward-override{forward xxx.xxx.xxx.xxx(代理服务器地址):88}
{default}
/
{pac}
.qq.com   #写你要代理的域名
.cip.cc


#创建Dockerfile文件
touch Dockerfile

FROM alpine:latest
MAINTAINER mading@xxxx.net
RUN apk --no-cache add privoxy 
ADD privoxy-start.sh /usr/local/bin/
ADD config /etc/privoxy/
COPY pac.action /etc/privoxy/ 
RUN chmod +r /etc/privoxy/config && chmod +x /usr/local/bin/privoxy-start.sh
CMD ["privoxy-start.sh"]
EXPOSE 8118

#创建配置文件
touch config

confdir /etc/privoxy
logdir /var/log/privoxy
actionsfile pac.action
logfile logfile
listen-address  0.0.0.0:8118
toggle  1
enable-remote-toggle  0
enable-remote-http-toggle  0
enable-edit-actions 0
enforce-blocks 0
buffer-limit 4096
enable-proxy-authentication-forwarding 0
forwarded-connect-retries  0
accept-intercepted-requests 0
allow-cgi-request-crunching 0
split-large-forms 0
keep-alive-timeout 5
tolerate-pipelining 1
socket-timeout 300

#创建启动脚本文件
touch privoxy-start.sh


#!/bin/sh
CONFFILE=/etc/privoxy/config
PIDFILE=/var/run/privoxy.pid
if [ ! -f "${CONFFILE}" ]; then
	echo "Configuration file ${CONFFILE} not found!"
	exit 1
fi
/usr/sbin/privoxy --no-daemon --pidfile "${PIDFILE}" "${CONFFILE}"


#docker打成镜像
docker build -t test:01 .
#docker上传镜像
docker push test:01

创建pac服务

apiVersion: apps/v1
kind: Deployment
metadata:
  name:  privoxy-deploy
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      app: privoxy
  template:
    metadata:
      labels:
        app: privoxy
    spec:
      containers:
      - name: privoxy
        image: test:01(改为自己构建的镜像)
        ports:
        - containerPort: 8118
---
apiVersion: v1
kind: Service
metadata:
  name: privoxy-service
spec:
  selector:
    app: privoxy
  ports:
  - protocol: TCP
    port: 8118
    targetPort: 8118
    name: privoxy-deploy

在APP02deployment 加入以下env

此次我们要访问的域名是HTTPS的所以只需要代理HTTPS的域名

        - name: https_proxy
          value: http://privoxy-service:8118

验证

进入APP02的pod 执行curl https://www.cip.cc 看看是不是为代理服务器地址

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 基于Apache Hudi在Google云构建数据湖平台的思路详解

    基于Apache Hudi在Google云构建数据湖平台的思路详解

    这篇文章主要介绍了基于Apache Hudi在Google云构建数据湖平台,本文提供了有关如何使用上述工具构建基本数据管道的基本介绍,需要的朋友可以参考下
    2022-04-04
  • 详解Nginx服务器中的Socket切分

    详解Nginx服务器中的Socket切分

    这篇文章主要介绍了Nginx服务器中的Socket切分,以新发布的1.9.1版本的Nginx为基础,需要的朋友可以参考下
    2015-06-06
  • linux下dhcp服务配置教程

    linux下dhcp服务配置教程

    这篇文章主要为大家详细介绍了linux下dhcp服务的配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • centos7.6批量增加修改删除虚拟网卡操作介绍

    centos7.6批量增加修改删除虚拟网卡操作介绍

    大家好,本篇文章主要讲的是centos7.6批量增加修改删除虚拟网卡操作介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2021-12-12
  • XShell免费版的安装配置教程及使用保姆级教程

    XShell免费版的安装配置教程及使用保姆级教程

    XShell 是一种流行且简单的网络程序,旨在模拟虚拟终端,这篇文章主要介绍了XShell免费版的安装配置教程以及使用教程,需要的朋友可以参考下
    2022-08-08
  • Linux中使用top命令的技巧

    Linux中使用top命令的技巧

    今天小编就为大家分享一篇关于Linux中使用top命令的技巧,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-09-09
  • Apache本地二级域名配置方法

    Apache本地二级域名配置方法

    这篇文章主要介绍了Apache本地二级域名配置方法,涉及hosts文件设置与Apache配置文件设置等相关技巧,需要的朋友可以参考下
    2016-05-05
  • Linux离线安装gcc和gcc-c++全过程

    Linux离线安装gcc和gcc-c++全过程

    文章介绍了在联网和离线情况下安装GCC和GCC-C++组件的方法,联网时,可以直接使用命令`yum -y install gcc`进行安装,离线安装时,需要从百度云盘下载GCC和GCC-C++的离线安装包,然后按照一定的顺序执行安装命令,此外,文章还提供了查看GCC版本和安装GCC-C++组件的步骤
    2025-10-10
  • 在CentOS上解压JAR包的完整指南

    在CentOS上解压JAR包的完整指南

    在 Linux 系统中,JAR(Java Archive)文件是一种常见的文件格式,通常用于打包 Java 应用程序的类文件、资源文件以及元数据,JAR 文件本质上是一种基于 ZIP 格式的压缩文件,本文将详细介绍如何在 CentOS 上解压 JAR 包,需要的朋友可以参考下
    2025-03-03
  • linux 触摸屏驱动编写

    linux 触摸屏驱动编写

    这篇文章主要介绍了linux 触摸屏驱动编写,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04

最新评论