Skip to content

luoxi4563/edge-ug-docker

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 

Repository files navigation

使用方法

fork此仓库,在edge pages新建项目选择fork的仓库

配置以下环境变量,并绑定自己的备案域名

UG_ALIAS // 绿联UGLinkID 例:dx4600-01

UG_USERNAME // 绿联账号 例:myflavor

UG_PASSWORD // 绿联密码 例:TkdxB2VyMEt3UVoi

UG_PORT // 容器端口 例:5244

不支持开启双重验证的账号,建议使用没有权限的普通账号

接着在edge pages中创建一个kv存储,命名空间名称任意

然后关联项目,选择刚刚新建的pages项目,变量名称填nas

完成以上操作后,打开绑定的域名即可访问容器,无需在绿联客户端中打开docker

实现原理

从绿联的Docker客户端点击端口的时候,会请求接口获取一个带有一次性token的跳转地址

访问这个跳转地址,服务器会下发一个代理token的cookie,只要每次请求都在cookie带上这个token就可以正常代理了

如果没有带上cookie,或者设备掉线,响应中就只会有一个响应头,且内容为跳转错误页的html

用户访问edge pages时,先检查在kv中是否有代理token的缓存

如果有缓存,携带代理token先尝试请求绿联一次,成功就直接返回,没成功就当缓存不存在

当没有缓存时,模拟登陆绿联,请求获取代理token,再携带代理token请求绿联,成功则写入kv中存储并响应

About

利用Edge Pages反代绿联的docker代理,实现使用自己的域名直接访问docker端口

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 100.0%