DDOS防御专家-提供超强DDoS高防/CC防护/大流量清洗服务!
当前位置:主页 > CC防护 > 正文

海外高防ip_cdn防御cc攻击_如何防

05-04 CC防护

海外高防ip_cdn防御cc攻击_如何防

詹金斯谈过我最后一次管理邮局的事。这一次,我将介绍Nexus服务器,以及如何对其进行类似的管理。现状Jenkins X提供了一个可选的Nexus服务器打包到平台中,这对您开始使用非常有用。但是,随着项目变得更加复杂,您可能会发现自己需要其他存储库或对配置进行更改。事实证明,正是这些变化有点难以管理。以下是今天的设置:当前的Jenkins X nexus图表对预打包的存储库进行硬编码这个后启动.sh脚本获取存储库脚本文件的列表并执行它们GitHub上存在一个开放问题,无法将文件移动到值.yaml但我不确定什么时候能修好。因此,在这种情况下,我们需要一种添加自定义存储库的方法。现在,在我开始实施之前,我想给你们一个关于实际发生了什么的背景知识。这个后启动.sh脚本这个后启动.sh脚本在Nexus服务器可用后直接运行。它的工作,除其他外,是循环一系列包含存储库创建脚本的文件,无法有效防御ddos,并在Nexus中执行它们。脚本本身是幂等的,这意味着只有在Nexus存储库不存在时才会创建它。这样可以确保Nexus服务器上有所有必需的存储库启动。所以,脚本如何工作?Nexus APInexusrepository使用groovy脚本来配置实例。在本文的讨论范围之外,这里有一个通过脚本。这里是来自Nexus官方网站的更多信息:https://help.sonatype.com/repomanager3/rest-and-integration-api/script-api/exampleshttps://github.com/sonatype-nexus-community/nexus-scripting-examples然后呢?你为什么要告诉我这些?因为,尽管后启动.sh脚本的主要功能是设置nexus存储库,实际上没有什么可以阻止您添加其他脚本,例如:创建存储库组添加用户添加角色安排任务等。创建脚本文件让我们首先创建一个包含自定义脚本的ConfigMap资源。以下是有关要点的链接:种类:配置映射API版本:v1元数据:名称:nexus自定义回购文件命名空间:jx标签:应用程序:nexus自定义回购文件数据:红移小牛-存储库.json: |{"name":"redshift maven存储库","type":"groovy","content":"def\ndef url='https://s3.amazonaws.com/redshift-maven-repository/release/'\n如果(!存储库.getRepositoryManager()。存在(名称)){\nrepository.createMavenProxy(名称,url)\n}\ndef配置=存储库.getRepositoryManager().get(名称)。配置.复制()\nconfig.属性['proxy']['contentMaxAge']=-1\nrepository.repositoryManager.update(配置)\n"}阿帕奇组织-快照.json: |{"name":"apache org快照","type":"groovy","content":"def\ndef url='https://repository.apache.org/content/repositories/snapshots/'\n如果(!存储库.getRepositoryManager()。存在(名称)){repository.createMavenProxy(名称,url,'default',true,org.sonatype.nexus公司.repository.maven.VersionPolicy.快照,org.sonatype.nexus公司.repository.maven.LayoutPolicy.STRICT)}"}我的保护-回购.json: |{"name":"我的受保护回购","type":"groovy","content":"def\ndef url='https://acme.com/repository/my-protected-repo/'\n如果(!存储库.getRepositoryManager()。存在(名称)){\nrepository.createMavenProxy(名称,url,'default',true,防御cc攻击的服务器,org.sonatype.nexus公司.repository.maven.VersionPolicy.释放,org.sonatype.nexus公司.repository.maven.LayoutPolicy.STRICT)\n}\ndef配置=存储库.getRepositoryManager().get(名称)。配置.复制()\nconfig.属性['proxy']['contentMaxAge']=-1\nconfig.属性['httpclient']['authentication']=['type':'用户名','用户名':'我的用户','密码':'myP@ssW0rd','ntlmHost':'','ntlmDomain':'']\nrepository.repositoryManager.update(配置)\n"}马文-组.json: |{"name":"maven group","type":"groovy","content":"def updateGroup(def name,def members){\n if(!存储库.getRepositoryManager()。存在(名称)){\nrepository.createmaven组(名称,成员)\n}\n def mgConfig=存储库.getRepositoryManager().get(名称)。配置.复制()\nmgConfig.attributes属性['group']['memberNames']=成员\nrepository.repositoryManager.update(mgConfig)\n}\n更新组('maven-group',['maven-public','maven-central','maven releases','spring milestone','spring release',单台服务器ddos防御,jitpack',jenkins release','maven jenkinsci','jenkins public','plugins gradle',ddos防御视频网站,'my protected repo']\n更新组('maven-group-snapshots',['maven-snapshots','apache org snapshots',百度云加速ddos防御,spring io libs snapshot',oss sonatype snapshots'])\n"}查看原始nexus回购-配置映射.yaml托管❤ 通过GitHub上面的例子展示了四种最常见的任务类型:红移小牛-仓库.jsona公共maven发布库阿帕奇组织-快照.jsona公共maven快照存储库我的保护-回购股份具有用户名/密码身份验证的私有maven存储库马文-group.jsonscript创建各种maven存储库组查看内容并将其替换为\n实际的换行符,您可以看到将要执行的实际脚本,例如:def updateGroup(定义名称,def成员){如果(!存储库.getRepositoryManager().存在(名称){创建存储库.mavengroup(姓名、成员)}MGDEF配置=存储库.getRepositoryManager().get(名称)。配置.复制()mgConfig.attributes属性['group']['memberNames']=成员repository.repositoryManager.update(管理配置)}updateGroup('maven-group',['maven-public','maven central','maven releases','spring milestone','spring release','jitpack','jenkins release','maven jenkinsci','jenkins public','plugins gradle','my protected repo')快照','mavoss-snapshots','mavoss-snapshots','mavoss-snapshots','mavoss-snapshots',''mavoss-snapshots','查看原始演示-脚本.groovy托管❤ 通过GitHub注意:这里有一些关于Nexus脚本的优秀信息,其中包括一个示例项目:https://help.sonatype.com/repomanager3/rest-and-integration-api/script-api/writing-scripts获取必要的信息那么,我们如何把文件放在正确的地方呢?我们需要将文件放在Nexus上的适当目录中吊舱。但是我们对此有异议。我们无法装载整个目录,因为那样会破坏所有现有文件。幸运的是,我们可以使用本文中提到的子路径来挂载个人文件。自从我想自动执行此操作,我们需要将当前装载与所需列表进行比较。之后,我们需要修补nexus部署,添加任何尚未安装的挂载补充了。所以,我们需要:列出当前Nexus部署装载点列出当前的Nexus部署子路径列出我们文件中的自定义回购将配置映射添加到集群创建一个包含任何新装载点和子路径的补丁字符串如有必要,应用补丁为此,我们需要我最喜欢的两个命令jq和yq以及一个小命令行的帮助付。让走吧…部署的当前装载点会给你一些像:部署的当前子路径(Repo文件)会给你一些像: 来自自定义yaml的当前脚本文件这实际上比第一次想象的要复杂,主要是因为yq不允许输出map对象的键。为了解决这个问题,我需要使用yq输出数据部分,然后使用jq输出键。最终结果是:注意:如果您在本地安装了yq和jq,Docker命令可以替换为二进制命令正在创建部署修补程序现在我们有了主要的输入变量,我们可以处理它们并构造补丁字符串。我们将使用json补丁类型,因为这允许我们添加到现有列表中。关于json合并的更多信息可以在这里找到。卷装入首先,将自定义repo配置映射添加为卷(如果它不存在)子路径其次,遍历我们的存储库脚本文件,在必要时添加子路径(注意maven-组.json在父目录中-这是后启动.sh期待它)更新配置映射第三,应用配置图准备挂载:注意:您会注意到我正在使用sop来动态解密文件。我加密存储库脚本配置映射文件,因为它包含受保护的repo的凭据。修补部署如果需要的话,最后修补部署

版权保护: 本文由 DDOS防御专家 原创,转载请保留链接: /ddos/67589.html

DDoS防御专家简介孤之剑
国内资深白帽子二十人组成员,前BAT资深网络安全工程师,知名网络安全站点板块大神,每年提交Google及微软漏洞,原sina微博负载插件开发者,现在整体防御复合攻击长期接受1-4.7T攻击,CC防护自主开发指纹识别系统,可以做到99.9999%的无敌防御。
  • 文章总数
  • 8957470访问次数
  • 建站天数

    QQ客服

    400-0797-119

    X