pac自动代理

这篇具有很好参考价值的文章主要介绍了pac自动代理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.pac 定义

PAC,一个自动代理配置脚本,包含了很多使用 JavaScript 编写的规则,它能够决定网络流量走默认通道还是代理服务器通道,控制的流量类型包括:HTTP、HTTPS 和 FTP。

本质是一段js

function FindProxyForURL(url, host) {
return "DIRECT";
}

2. 参考配置地址

地址:pac配置地址

3. 实际配置案例

3.1 编写pac文件

下面这段表示的是如果是本机ip192.168.8.0网段的,就走192.168.2.207:443代理,如果不是的话,就直连

function FindProxyForURL(url, host) {
    if (isInNet(myIpAddress(), "192.168.8.0", "255.255.255.0")) {
      return "PROXY 192.168.2.207:443";
    }
    return "DIRECT";
  }

3.1.1 return 语句有三种指令:

  • DIRECT,表示无代理直接连接
  • PROXY host:port,表示走host:port 的 proxy 服务
  • SOCKS host:port,表示走host:port 的 socks 服务

3.1.2 内置函数

3.1.2.1 dnsDomainIs

类似于 ==,但是对大小写不敏感,

if (dnsDomainIs(host, "google.com") || 
dnsDomainIs(host, "www.google.com")) {
return "DIRECT";
}
3.1.2.2 shExpMatch

Shell 正则匹配,* 匹配用的比较多,可以是*.http://example.com,也是可以下面这样,

if (shExpMatch(host, "vpn.domain.com") ||
shExpMatch(url, "http://abcdomain.com/folder/*")) {
return "DIRECT"; 
}
3.1.2.3 isInNet

判断是否在网段内容,比如 10.1.0.0 这个网段,10.1.1.0 就在网段中,

if (isInNet(dnsResolve(host), "172.16.0.0", "255.240.0.0")) {
return "DIRECT";
}
3.1.2.4 主机ip
if (isInNet(myIpAddress(), "10.10.1.0", "255.255.255.0")) {
return "PROXY 10.10.5.1:8080";
}
3.1.2.5 dnsResolve

通过 DNS 查询主机 ip,

if (isInNet(dnsResolve(host), "10.0.0.0", "255.0.0.0") ||
isInNet(dnsResolve(host), "172.16.0.0", "255.240.0.0") ||
isInNet(dnsResolve(host), "192.168.0.0", "255.255.0.0") ||
isInNet(dnsResolve(host), "127.0.0.0", "255.255.255.0")) {
return "DIRECT";
}
3.1.2.6 isPlainHostName

判断是否为诸如http://barret/,http://server-name/ 这样的主机名,

if (isPlainHostName(host)) {
return "DIRECT";
}
3.1.2.7 isResolvable

判断主机是否可访问

if (isResolvable(host)) {
return "PROXY proxy1.example.com:8080";
}
3.1.2.8 dnsDomainLevels

返回是几级域名,比如dnsDomainLevels(http://barretlee.com) 返回的结果就是 1,

if (dnsDomainLevels(host) > 0) {
return "PROXY proxy1.example.com:8080";
} else {
return "DIRECT";
}

3.2 配置nginx,将pac文件上传到服务器

本案例放置pac文件的路径

pac自动代理

nginx 配置

 location /proxy.pac {
      alias /usr/local/openresty/nginx/pac/proxy.pac; //绝对路径
    }

3.3 配置自动代理

pac自动代理

pac自动代理文章来源地址https://www.toymoban.com/news/detail-439829.html

到了这里,关于pac自动代理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微服务Gateway网关(自动定位/自定义过滤器/解决跨域)+nginx反向代理gateway集群

    目录 Gateway网关 1.0.为什么需要网关? 1.1.如何使用gateway网关 1.2.网关从注册中心拉取服务 1.3.gateway自动定位 1.4.gateway常见的断言 1.5.gateway内置的过滤器 1.6.自定义过滤器-全局过滤器 1.7.解决跨域问题 2.nginx反向代理gateway集群 2.1.配置文件 继  nacos注册中心+Ribbon负载均衡+完成

    2024年02月06日
    浏览(66)
  • 三维后处理与重建PACS源码,大容量图像存储 报告单多种模式及自定义样式

    医学影像系统源码 三维后处理与重建PACS源码 医学影像系统由PACS系统、RIS系统组成,同时提供与HIS的接口(HL7或其他类型) 。 主要功能介绍 信息预约登记 支持对患者、检查项目、申请医生、申请单据、设备等信息进行管理。且支持检查病人排队管理功能; 支持大屏幕队列

    2024年02月03日
    浏览(39)
  • 开源PACS系统Orthanc(DICOM服务器)配置

    每日鸡汤:不是有所成就才算活着,梦想也不是什么了不起的东西,只喜欢走路、看天、吃披萨的人生也很好。 因为最近开发需要从PACS系统中获取医学影相图片才有了这篇安装BLOG,希望能对同样需要的伙伴一点帮助。 1. PACS和DICOM介绍 PACS(Picture Archiving and Communication System)

    2024年02月03日
    浏览(33)
  • Spring Boot的自动配置与自定义配置(附配置优先级表)

    相比于Spring MVC,Spring Boot省去了繁琐的配置,提供了大部分场景下的默认配置,用户可以在不做任何配置的情况下使用Spring Boot框架进行开发。如果默认的参数并不能满足用户的需求,也只需创建一个配置文件并加上自定义的配置。Spring Boot的主导思想,想必大家也并不陌生,

    2024年02月02日
    浏览(39)
  • Java 框架面试题-Spring Boot自定义配置与自动配置共存

    Spring Boot 是一个快速开发框架,可以简化 Spring 应用程序的开发,其中自定义配置是其中一个非常重要的特性。 在 Spring Boot 中,自定义配置允许开发者以自己的方式来配置应用程序。自定义配置可以用于覆盖默认配置,也可以用于添加新的配置项。本文将详细介绍 java框架面

    2023年04月11日
    浏览(51)
  • SpringBoot如何自定义自己的条件注解与自动配置

    本专栏将从基础开始,循序渐进,以实战为线索,逐步深入SpringBoot相关知识相关知识,打造完整的云原生学习步骤,提升工程化编码能力和思维能力,写出高质量代码。希望大家都能够从中有所收获,也请大家多多支持。 专栏地址:SpringBoot专栏 本文涉及的代码都已放在gite

    2023年04月08日
    浏览(30)
  • 37、springboot 为 spring mvc 提供的自动配置及对自动配置的一些自定义定制(大体思路)

    如果觉得springboot对spring mvc 的一些自动配置不满意,我们还可以对这些自动配置进行定制。 ▲ 定制方式一: 代码演示: 若要在保留自动配置的基础上增加一些自定义的Spring MVC配置,可以这些写,这里只是弄个框架。 ▲ 定制方式二: 代码演示: ▲ 定制方式三: 代码演示

    2024年02月11日
    浏览(37)
  • SpringBoot——原理(自动配置_案例(自定义阿里云文件上传starter))

    本文同步更新于鼠鼠之家 starter就是springboot中的起步依赖,虽然springboot已经提供了很多的起步依赖,但是在实际项目开发中可能会用到和第三方的技术,不是所有第三方在springboot中都有收录。 比如之前文章中有用到过的阿里云OSS,阿里云并没有提供起步依赖,导致每次使用

    2024年02月07日
    浏览(37)
  • 5步带你玩转SpringBoot自定义自动配置那些知识点

    目前SpringBoot框架真的深受广大开发者喜爱,毕竟它最大的特点就是: 快速构建基于Spring的应用程序的框架,而且它提供了各种默认的功能和配置,可以让开发者快速搭建应用程序的基础结构。 但是,当我们需要自定义一些配置时,我们就需要使用自定义自动配置。 今天一定

    2024年02月09日
    浏览(37)
  • 【Springboot】| 从深入自动配置原理到实现 自定义Springboot starter

    Springboot starter 是SpringBoot的一个重要概念,是“一站式服务 (one-stop)”的依赖 Jar 包包含 Spring 以及相关技术(比如 Redis)的所有依赖提供了自动配置的功能,开箱即用提供了良好的依赖管理,避免了包遗漏、版本冲突等问题。 简单来说, Springboot starter 提供了一种自动配置的机制

    2024年02月11日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包