登录 注册

您现在的位置是:主页 > 资讯中心 > 租用托管 >
Nexus使用Api进行操作360cdn.com
谍盾互联发表于 2019-01-09 08:17 次浏览

  Nexus使用Api进行操作360cdn.com,全面支持SYN Flood、ACK Flood、ICMP Flood、UDP Flood、NTP Flood、DNS Flood、HTTP Flood、CC 攻击等常见攻击类型的防护。瞬间秒切换“1秒钟”即可完成业务切换,即使在被攻击中,也可快速接入,实现应急防护,最大限度减少损失。谍盾防火墙http://www.diedun.com提供1T超大防护带宽,单IP防护能力最大可达500G,超大上T带宽接入,才能从容应对超大流量攻击。支持TCP、UDP、HTTP/HTTPS等协议,满足游戏、APP、网站、金融等各种类型的业务需求。。

Nexus提供了RestApi,但是一部分Api仍然需要结合Groovy等进行操作,在3.3及其以后的版本上进行了强化,但是和普通的RestApi相比仍有一些“使用上的特性”。这篇文章以创建raw的repository为例,来确认一下相关的使用方法。

前提准备

准备可运行的Nexus,这里的版本为3.2.1

Api机制

这篇文章介绍的是Nexus3推出之初的Api的设计思路,主要是通过结合groovy脚本来完成相关的功能,简单的来说需要用户自行提供groovy脚本,nexus提供上传和运行脚本的接口,虽然有些粗糙,但是大部分功能毕竟留出了一个方式供用户去使用,强大的groovy脚本中至于需要实现什么样的功能,那就看用户自己的需要了。在一定程度上来说,算是一个能够创造API的API

使用步骤

步骤1: 以json文件为载体,创建可运行的groovy脚本

格式大体如下:

{"name": "脚本名称","type": "groovy","content": "groovy语句"}

注意事项:

  • 注意双引号和单引号的使用
  • 脚本的名称会成为后续API的一部分,请注意命名

步骤2: 上传json文件

使用如下方式和接口即可上传相应包含groovy操作的json文件

  • 亚洲服务器接口:/service/siesta/rest/v1/script
  • 方法:POST
  • 文件:将步骤1中准备的文件作为POST的内容传入

步骤3: 执行groovy文件

使用如接口即可执行在步骤2中上传的groovy脚本

  • 接口:/service/siesta/rest/v1/script/脚本名称/run
  • 方法:POST

此处需要注意脚本名称也会是执行接口中的一部分,命名变得灰常重要。

使用示例

这里使用上述方式来演示一下如何在Nexus中创建一个Raw类型的repository。

步骤1: 以json文件为载体,创建可运行的groovy脚本

因为创建repository需要指定blob,如果没有指定则会使用default,但是如果项目众多,将会导致default非常巨大,在前面介绍nexus的使用实践中也给出过对于不同的repository创建自己的blob,所以这里创建如下的json文件:

liumiaocn:~liumiao$ cat rawrepotest1.json{"name": "rawrepotest1","type": "groovy","content": "def rawStore = blobStore.createFileBlobStore('rawrepotest1','raw');repository.createRawHosted('rawrepotest1',rawStore.name);"}liumiaocn:~liumiao$

网站被攻击建议:因为Nexus的这种使用方式本身就不是非常完整的方式,建议使用的过程中诸如rawrepotest1全部一致,这样blob和repository的关系也比较清楚,无非多上传几个大小可以忽略不计的json文件而已。

步骤2: 上传json文件

liumiaocn:~liumiao$ curl -X POST -u admin:admin123 --header "Content-Type: application/json" http://localhost:32004/service/siesta/rest/v1/script -d @rawrepotest1.jsonliumiaocn:~liumiao$

步骤3: 执行groovy文件

liumiaocn:~liumiao$ curl -X POST -u admin:admin123 --header "Content-Type: text/plain" http://localhost:32004/service/siesta/rest/v1/script/rawrepotest1/run{"name" : "rawrepotest1","result" : "RepositoryImpl$$EnhancerByGuice$$13e8178d{type=hosted,format=raw,name='rawrepotest1'}"}liumiaocn:~liumiao$

结果确认

blob确认

已经生成相应的blob:rawrepotest1

repository确认

已经生成相应的raw方式的repository:rawrepotest1

小结

Nexus中结合groovy能够实现Api方式的集成,但是这种方式在使用上还有诸多的不变,多次执行是否出错等都成为groovy脚本确认的事项,相关功能是否会强化可能还需要看nexus后续版本的支持情况,和groovy的结合方式会不会是功能过度时期的对应方式还需进一步观察。

总结

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

  谍盾防火墙http://www.diedun.com是打不死的防御系统,自建高防CDN,独家外接牵引360cdn清洗系统.全球部署各大高防服务器线路.有香港高防服务器、韩国高防服务器、亚太高防服务器、日本高防服务器、欧美高防服务器等均可防御所有DDOS、CC等攻击,最大可达500G,封UDP。支持游戏、APP、网站、金融及视频直播等各种应用。我们敢承诺:免费24小时防护,打死不付钱 !谍盾防火墙 http://www.diedun.com欢迎各界用户亲临测试体验!。

相关信息推荐