本篇文章将从多个方面详细阐述corsregistry.a,同时提供相应代码示例。
一、什么是corsregistry.a?
corsregistry.a是Docker Registry官方代理。它提供了对Docker Registry的访问控制、路由、缓存和多栖支持。corsregistry.a使得Docker Registry在配置极其简单的情况下变得更好的可用和高效。
二、corsregistry.a的优点
corsregistry.a的使用带来了以下优点:
1、支持请求频率限制和流量控制,有效的解决了Docker Registry的性能问题。
2、支持registry的缓存,可以降低registry的延迟。
3、支持多栖,可以同时支持多个registry,实现了高可用性。
三、如何使用corsregistry.a?
corsregistry.a的使用非常简单,只需要在配置文件中加入corsregistry.a的域名和端口,同时正确地配置好证书即可。
version: '2'
services:
registry:
restart: always
image: registry:2
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.registry.redirectscheme.scheme=https"
- "traefik.http.middlewares.registry.redirectscheme.permanent=true"
- "traefik.http.middlewares.registry.headers.forceSTSHeader=true"
- "traefik.http.middlewares.registry.headers.STSSeconds=315360000"
- "traefik.http.middlewares.registry.headers.STSIncludeSubdomains=true"
- "traefik.http.middlewares.registry.headers.browserXSSFilter=true"
- "traefik.http.middlewares.registry.headers.contentTypeNosniff=true"
- "traefik.http.middlewares.registry.headers.SSLRedirect=true"
- "traefik.http.middlewares.registry.headers.SSLHost=your.domain"
- "traefik.http.middlewares.registry.headers.STSHeaderName=Strict-Transport-Security"
- "traefik.http.middlewares.registry.headers.customResponseHeaders.X-Content-Type-Options=nosniff"
- "traefik.http.services.registry.loadbalancer.server.port=5000"
- "traefik.http.routers.registry.rule=Host(`your.domain`) && PathPrefix(`/v2/`)"
- "traefik.http.routers.registry.entrypoints=websecure"
- "traefik.http.routers.registry.middlewares=registry-redirect-to-https"
volumes:
- ./data:/var/lib/registry
corsregistry:
restart: always
image: joxit/cors-registry-proxy:2.7.1
environment:
REGISTRIES__0__NAME: cors
REGISTRIES__0__LOCATION: http://registry:5000
REGISTRIES__0__CORS__ORIGINS__0: '*'
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.registry-redirect-to-https.redirectscheme.scheme=https"
- "traefik.http.middlewares.registry-redirect-to-https.redirectscheme.permanent=true"
- "traefik.http.middlewares.registry-redirect-to-https.headers.SSLRedirect=true"
- "traefik.http.middlewares.registry-redirect-to-https.headers.SSLTemporaryRedirect=true"
- "traefik.http.middlewares.registry-redirect-to-https.headers.STSIncludeSubdomains=true"
- "traefik.http.middlewares.registry-redirect-to-https.headers.STSPreload=true"
- "traefik.http.middlewares.registry-redirect-to-https.headers.STSSeconds=315360000"
- "traefik.http.middlewares.registry-redirect-to-https.headers.forceSTSHeader=true"
- "traefik.http.middlewares.registry-redirect-to-https.headers.STSHeaderName=Strict-Transport-Security"
- "traefik.http.services.registry-secure.loadbalancer.server.port=8080"
- "traefik.http.routers.registry-secure.rule=Host(`your.domain`) && PathPrefix(`/`)"
- "traefik.http.routers.registry-secure.entrypoints=websecure"
depends_on:
- registry
ports:
- '127.0.0.1:5001:80'
networks:
- default
四、如何验证corsregistry.a是否有效?
使用以下命令验证是否使用了corsregistry.a:
$ curl -i https://your.domain/v2/
如果您的Docker Registry是可以允许跨域访问的,您会得到下面的输出:
HTTP/1.1 200 OK
Cache-Control: max-age=0
Content-Type: application/json; charset=utf-8
Docker-Distribution-Api-Version: registry/2.0
ETag: "0de2f61ecac4f2f96607a4a311ccfe53"
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-Xss-Protection: 1; mode=block
Date: Thu, 16 Jul 2020 11:26:38 GMT
Content-Length: 2
{}
五、总结
本篇文章对corsregistry.a进行了全面的阐述,并提供了相应代码示例。通过corsregistry.a对Docker Registry的优化,使得Docker Registry更加可用和高效,并且可以支持多个registry,实现高可用性。
原创文章,作者:BKENE,如若转载,请注明出处:https://www.506064.com/n/374745.html
微信扫一扫
支付宝扫一扫