Centos7 nginx代理docker私有仓库加SSL验证

本文详细介绍了如何在Centos7上配置nginx,实现对docker私有仓库的80端口代理,并通过SSL验证。包括nginx的安装、配置、openssl工具的使用来生成证书,以及配置SSL和HTTP基本认证,确保安全的推送和拉取镜像。
摘要由CSDN通过智能技术生成

关于docker私有库的搭建已经在上一篇文章中写了,下面我们直接进入主题。
(以下配置均在私有仓库所在的服务器上)

步骤一: 安装nginx

1.安装nginx 源

rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

2.安装nginx

yum install -y nginx

步骤二:nginx配置80端口代理registry

1.创建配置文件

cd /etc/nginx/conf.d/
touch docker-registry.conf

2.编辑配置文件写入以下内容

upstream docker-registry {
	server localhost:5000;
}

server {
	listen 80;
	server_name  192.168.118.207;
	
	location / {
		proxy_pass http://docker-registry;
		proxy_set_header Host $http_host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Forwarded-Proto $scheme;
		proxy_read_timeout 900;
	}

这里的配置只要是将对80端口的访问转发到仓库,这里需要注意以下几点
(1)server_name 为你私有库所在服务器的IP或者域名
(2)80端口不能被占用。当然,如果80端口被占用了,你也可以修改成别的没被占用的端口号。
(3)如果你listen 的是80端口,那么server_name 就不能填 localhost,会有冲突,反过来如果server_name 填localhost的话,那么listen除了80端口以外的端口号都可以。
(4)可以删掉server_name 这一行配置,但是会对80端口失效,换其他端口可以。

3 重启nginx使配置生效

nginx -s reload

4.测试nginx

curl   <ip>:<端口号>/v2/_catalog

此处ip和端口为刚刚配置文件配置的server_nam

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值