Connect the dots

“Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things.” - Robert Heinlein

导航

为 Docker Registry 增加 Nginx 前端

Posted on 2015-12-30 17:36  TOX  阅读(529)  评论(0编辑  收藏  举报

其实Docker Registry 就是一个API backend,所以加一个Nginx前端有大大的好处,比如docker push 时增加用户名密码验证。

怎么加?请参考以下nginx配置

 

upstream docker-registry {
  server 127.0.0.1:5000;
}

server {
  listen 80;
  server_name you.awesome.com;
  client_max_body_size 0;
  chunked_transfer_encoding on;

  location / {

    if ($http_user_agent ~ "^(docker\/1\.(3|4|5(?!\.[0-9]-dev))|Go ).*$" ) {
      return 505;
    }

    proxy_pass                          http://docker-registry/;
    proxy_set_header  Host              $http_host;   # required for docker client's sake
    proxy_set_header  X-Real-IP         $remote_addr; # pass on real client's IP
    proxy_set_header  X-Forwarded-For   $proxy_add_x_forwarded_for;
    proxy_set_header  X-Forwarded-Proto $scheme;
    proxy_read_timeout                  900;
  }
}

  

完成,如果还不成功,可以联系楼主,楼主可以提供有偿远程调试服务。

 

2月17日更新

情人节过完,就马上有同学问为什么要给registry加一个前端?因为更换ssl证书需要重启docker。当然,不用ssl裸奔的同学可以忽略这个坑,但是作为一个有为青年,你怎么能容忍自己的网站地址栏没有绿色的小图标~~~