当前位置: 首页 > news >正文

网站用哪些系统做的十大高端网站定制设计师

网站用哪些系统做的,十大高端网站定制设计师,自个做网站教程,天津开发区网站建设文章目录 一、建立HTTPS链接1.在仓库服务器上获取TLS证书1.1 生成证书颁发机构证书1.2 生成服务器证书1.3 利用证书运行仓库容器 2.让私有仓库支持HTTPS3.客户端端配置 二、基本身份验证三、对外隐藏仓库服务器3.1 在服务器端3.2 在客户端进行 四、仓库可视化 在前面的学习中&a…

文章目录

  • 一、建立HTTPS链接
    • 1.在仓库服务器上获取TLS证书
      • 1.1 生成证书颁发机构证书
      • 1.2 生成服务器证书
      • 1.3 利用证书运行仓库容器
    • 2.让私有仓库支持HTTPS
    • 3.客户端端配置
  • 二、基本身份验证
  • 三、对外隐藏仓库服务器
    • 3.1 在服务器端
    • 3.2 在客户端进行
  • 四、仓库可视化


在前面的学习中,我们可以知道,我们所使用上传的镜像全都是公共镜像,镜像如果是商业机密,只能供公司内部人员使用,怎么办,这个就涉及到我们私有仓库的搭建。
在这里插入图片描述
在这一章的学习中,我们就用两台主机,分别作为服务器端和客户端,现在我们开始吧!

名称IP地址
服务端192.168.2.109
客户端192.168.2.108

一、建立HTTPS链接

<registry.xinhua.com>可以替换
/opt/docker/registry/certs也地址可以进行修改

1.在仓库服务器上获取TLS证书

新建一个目录

sudo su
mkdir -p /opt/docker/registry/certs
cd /opt/docker/registry/certs
ls

1.1 生成证书颁发机构证书

生成 CA 证书私钥

openssl genrsa -out ca.key 4096

生成ca证书

openssl req -x509 -new -nodes -sha512 -days 3650 \-subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=registry.xinhua.com" \-key ca.key \-out ca.crt

在这里插入图片描述

1.2 生成服务器证书

生成私钥

openssl genrsa -out registry.xinhua.com.key 4096

生成证书签名请求 (CSR)

openssl req -sha512 -new \-subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=registry.xinhua.com" \-key registry.xinhua.com.key \-out registry.xinhua.com.csr

在这里插入图片描述
生成 x509 v3 扩展文件

cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names[alt_names]
DNS.1=registry.xinhua.com
DNS.2=registry.xinhua
DNS.3=hostname
EOF

使用该文件为 主机生成证书v3.ext

openssl x509 -req -sha512 -days 3650 \-extfile v3.ext \-CA ca.crt -CAkey ca.key -CAcreateserial \-in registry.xinhua.com.csr \-out registry.xinhua.com.crt

在这里插入图片描述

1.3 利用证书运行仓库容器

docker run -it -d --name registry-TLS -p 5000:5000 -v /opt/docker/registry/certs/:/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/registry.xinhua.com.crt -e REGISTRY_HTTP_TLS_KEY=/certs/registry.xinhua.com.key registry:2

在这里插入图片描述

2.让私有仓库支持HTTPS

ip addr

在这里插入图片描述
在仓库服务器和客户端配置域名解析

sudo gedit /etc/hosts192.168.2.109 registry.xinhua.com
192.168.2.109 nginx.xinhua.com

在这里插入图片描述
验证一下

ping registry.xinhua.com

在这里插入图片描述

3.客户端端配置

在仓库服务器和客户端配置域名解析

sudo gedit /etc/hosts<服务器ip>
192.168.2.109 registry.xinhua.com
192.168.2.109 nginx.xinhua.com

在这里插入图片描述
验证一下

ping registry.xinhua.com

在这里插入图片描述
客户端安装open-ssh server

apt-get install openssh-server

在客户端上创建存储证书的目录

mkdir -p /etc/docker/certs.d/registry.xinhua.com\:5000

将服务器上的所有证书/opt/docker/registry/certs(.cert .key .crt)通过scp拷贝到创建客户端存储证书的目录服务端执行

修改服务端权限:chmod 777 /opt/docker/registry/certs
修改客户机权限:chmod 777 /etc/docker/certs.d/registry.xinhua.com:5000scp -r -p /etc/docker/certs.d/registry.xinhua.com:5000/register.xinhua.com.crt username@serverip: /opt/docker/registry/certs/register.xinhua.com.crt username<登录用户名你服务器的名字【就是你直接打开控制台的名字】>
serverip<客户端ip(ip addr查看)> 192.168.2.108scp -r -p /opt/docker/registry/certs/registry.xinhua.com.crt root-u@192.168.2.108:/etc/docker/certs.d/registry.xinhua.com:5000/register.xinhua.com.crt

在这里插入图片描述
客户端
在这里插入图片描述
下面我们就来演示吧

名称IP地址
服务端192.168.2.109
客户端192.168.2.108

在客户端推送镜像
代码解释参考:Ubantu docker学习笔记(三)docker账号push及Dockerfile优化

docker tag busybox:latest registry.xinhua.com:5000/busybox:V1
docker push registry.xinhua.com:5000/busybox:V1

在这里插入图片描述

curl -X GET https://registry.xinhua.com:5000/v2/_catalog -k

在这里插入图片描述

二、基本身份验证

创建目录及用户密码文件

mkdir /opt/docker/registry/auth
docker run  --entrypoint htpasswd  httpd:2 -Bbn testuser testpassword > /opt/docker/registry/auth/htpasswd这里注意testuser testpassword 就是我们后面登录的账号密码了

停止之前镜像(直接把所有关了)

docker stop $(docker ps -q) & docker rm $(docker ps -aq)

再次运行我们的服务镜像

docker run -d  \
-p 5000:5000   \
--restart=always  \
--name registry  \
-v /opt/docker/registry/auth:/auth  \
-e "REGISTRY_AUTH=htpasswd"  \
-e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm"  \
-e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd  \
-v /opt/docker/registry/certs:/certs   \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/registry.xinhua.com.crt   \
-e REGISTRY_HTTP_TLS_KEY=/certs/registry.xinhua.com.key   registry:2

在这里插入图片描述
去我们客户端进行镜像上传

docker push registry.xinhua.com:5000/busybox:V1

在这里插入图片描述
可以看到我们上传不了,接着我们登录

登录

docker login registry.xinhua.com:5000

账号:testuser
密码:testpassword
在这里插入图片描述
在这里插入图片描述
我们再去上传我们的镜像

docker push registry.xinhua.com:5000/busybox:V1

在这里插入图片描述

三、对外隐藏仓库服务器

3.1 在服务器端

安装nginx

apt install nginx

为nginx创建SSL秘钥和证书到/etc/nginx/certs/目录下

mkdir -p /etc/nginx/certs/
cd /etc/nginx/certs/
ls

开始参考https的方式啦,也就是相当于把registry.xinhua.com全都替换成nginx.xinhua.com

生成ca证书私钥

openssl genrsa -out ca.key 4096

生成ca证书

openssl req -x509 -new -nodes -sha512 -days 3650 \-subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=nginx.xinhua.com" \-key ca.key \-out ca.crt

生成服务器证书,私钥

openssl genrsa -out nginx.xinhua.com.key 4096

生成证书签名请求 (CSR)

openssl req -sha512 -new \-subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=nginx.xinhua.com" \-key nginx.xinhua.com.key \-out nginx.xinhua.com.csr

生成 x509 v3 扩展文件

cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names[alt_names]
DNS.1=nginx.xinhua.com
DNS.2=nginx.xinhua
DNS.3=hostname
EOF

使用该文件为 主机生成证书v3.ext

openssl x509 -req -sha512 -days 3650 \-extfile v3.ext \-CA ca.crt -CAkey ca.key -CAcreateserial \-in nginx.xinhua.com.csr \-out nginx.xinhua.com.crt

在这里插入图片描述
客户端上创建存储证书的目录

mkdir -p /etc/docker/certs.d/nginx.xinhua.com\:443

将服务器上的所有证书/opt/docker/registry/certs(.cert .key .crt)通过scp拷贝到创建客户端存储证书的目录服务端执行

修改服务端权限:
chmod 777 /etc/nginx/certs/
修改客户机权限:
chmod 777 /etc/docker/certs.d/nginx.xinhua.com:443
chmod 777 /usr/local/share/ca-certificatesusername<登录用户名你服务器的名字【就是你直接打开控制台的名字】>
serverip<客户端ip(ip addr查看)> 192.168.2.108scp -r -p /etc/nginx/certs/nginx.xinhua.com.crt root-u@192.168.2.108:/etc/docker/certs.d/nginx.xinhua.com:443/nginx.xinhua.com.crt
scp -r -p /etc/nginx/certs/nginx.xinhua.com.crt root-u@192.168.2.108:/usr/local/share/ca-certificates/nginx.xinhua.com.crt

在这里插入图片描述

修改nginx配置/etc/nginx/nginx.conf让nginx的支持SSL的反向代理和身份验证

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;events {worker_connections 768;# multi_accept on;
}http {upstream docker-register {server registry.xinhua.com:5000;}server {listen 443 ssl;server_name nginx.xinhua.com;#修改ssl_certificate /etc/nginx/certs/nginx.xinhua.com.crt;#修改ssl_certificate_key /etc/nginx/certs/nginx.xinhua.com.key;ssl_session_cache builtin:1000 shared:SSL:10m;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;ssl_prefer_server_ciphers on;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;add_header 'Docker-Distribution-Api-Version' 'registry/2.0' always;location / {auth_basic "Restricted";auth_basic_user_file /etc/nginx/auth/htpasswd.txt;proxy_set_header Host $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_pass https://docker-register;proxy_read_timeout 900;}location /v2 {auth_basic off;proxy_pass https://docker-register;}location /_ping {auth_basic off;proxy_pass https://docker-register;}location /v2/_ping {auth_basic off;proxy_pass https://docker-register;}location /v2/_catalog {auth_basic off;proxy_pass https://docker-register;}}### Basic Settings##sendfile on;tcp_nopush on;types_hash_max_size 2048;# server_tokens off;# server_names_hash_bucket_size 64;# server_name_in_redirect off;include /etc/nginx/mime.types;default_type application/octet-stream;### SSL Settings##ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLEssl_prefer_server_ciphers on;### Logging Settings##access_log /var/log/nginx/access.log;error_log /var/log/nginx/error.log;### Gzip Settings##gzip on;# gzip_vary on;# gzip_proxied any;# gzip_comp_level 6;# gzip_buffers 16 8k;# gzip_http_version 1.1;# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;### Virtual Host Configs##include /etc/nginx/conf.d/*.conf;include /etc/nginx/sites-enabled/*;
}#mail {
#	# See sample authentication script at:
#	# http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
#	# auth_http localhost/auth.php;
#	# pop3_capabilities "TOP" "USER";
#	# imap_capabilities "IMAP4rev1" "UIDPLUS";
#
#	server {
#		listen     localhost:110;
#		protocol   pop3;
#		proxy      on;
#	}
#
#	server {
#		listen     localhost:143;
#		protocol   imap;
#		proxy      on;
#	}
#}

使用htpasswd去生成用户账号,设置密码

mkdir /etc/nginx/auth
cd /etc/nginx/auth
apt install apache2-utils
htpasswd -c htpasswd.txt user输入你的密码

在这里插入图片描述
重启Nginx服务

sudo /etc/init.d/nginx restart
注意!!!
一定要打全
https://192.168.2.109:443
直接输入域名可能出现以下错误

没有打端口号
在这里插入图片描述
没有用http连接
在这里插入图片描述
正确!!!
在这里插入图片描述

在这里插入图片描述

3.2 在客户端进行

配置

sudo vi /etc/docker/daemon.json{  "registry-mirrors": ["https://8f6a79wk.mirror.aliyuncs.com"],"insecure-registries":["私库地址(可以域名也可以ip)"]
}我的配置
{"registry-mirrors": ["https://8f6a79wk.mirror.aliyuncs.com"],"insecure-registries":["https://nginx.xinhua.com"]
}如果不配置就会出现
Error response from daemon: Get "https://nginx.xinhua.com/v2/": x509: certificate signed by unknown authority

登录

update-ca-certificates
systemctl daemon-reload
systemctl restart docker第一种:
docker login https://192.168.2.109:443 -u user -p "123456"第二种:
#设置环境变量
export PASSWORD=123456
#以环境变量的方式读入
echo "$PASSWORD" | docker login https://https://nginx.xinhua.com --username user --password-stdin

在这里插入图片描述

我们再去上传我们的镜像

docker tag busybox:latest 192.168.2.109:443/busybox:V1
docker push 192.168.2.109:443/busybox:V1

四、仓库可视化

http:

docker run --name registry -d  -p 5000:5000 --restart=always  -v /opt/data/registry:/var/lib/registry registrydocker run -it -d -p 8080:8080 --name registry-web --link registry   \
-e REGISTRY_URL=http://192.168.2.109:5000/v2            \
-e REGISTRY_TRUST_ANY_SSL=true            \
-e REGISTRY_BASIC_AUTH="cm9vdDoxMjM0NTY"            \
-e REGISTRY_NAME=192.168.2.109:5000 hyper/docker-registry-web

在这里插入图片描述

https:(未实现)

docker run -it -d --name registry-TLS -p 5000:5000 -v /opt/docker/registry/certs/:/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/registry.xinhua.com.crt -e REGISTRY_HTTP_TLS_KEY=/certs/registry.xinhua.com.key registry:2docker run -it -d -p 8080:8080 --name registry-web --link registry-TLS   \
-e REGISTRY_URL=https://192.168.2.109:5000/v2            \
-e REGISTRY_TRUST_ANY_SSL=true            \
-e REGISTRY_BASIC_AUTH="cm9vdDoxMjM0NTY"            \
-e REGISTRY_NAME=192.168.2.109:5000 hyper/docker-registry-web

在这里插入图片描述

http://www.yayakq.cn/news/167959/

相关文章:

  • 所有网站都要备案吗泉州服装电商网站建设
  • 做网站的设计文档怎么做做网站成功
  • 人工优化网站怎么做企业网站备案网站
  • 网站架构图怎么做凡科做的网站百度收不收录
  • 公司两个网站如何都备案兰州网站seo按天计费
  • 你注册过哪些网站官网图片链接生成器软件
  • 网站开发是哪个职位太原网站制作哪儿好薇
  • 网站建设分金手指专业一网站建设公司swot分析
  • 百度公司做网站吗论坛网站推广方案
  • 茶叶公司网站模板seo推广分析关键词的第一个步骤
  • 杭州做网站的企业产品图册设计公司
  • 电商企业网站建设的一般要素有哪些个人网站做哪一种比较赚钱
  • 自己做网站 需要服务器吗怎么推广网站平台
  • 网站开发社交网络功能的作用苏州做网站哪家专业
  • 主页设计中小企业网站seo
  • 做一款网站电子信息工程就业方向
  • 厦门网站制作费用做网站推广多少钱
  • 修改网站后台地址怎么在wordpress导航条下方加入文字广告链接
  • 开封网站设计哪个网站可以做拼图
  • 德州市住房和城乡建设部网站网站设计公司 国际
  • 网站站建设黄页网址免费大全 观看
  • 114网站做推广怎么样wordpress加密提示
  • 湘潭网站建设湘潭保定风泉网络科技有限公司
  • 一千元做网站做一个产品网站要多少钱
  • 建立大型网站吗wordpress+读取excel
  • 建设网站需要电脑配置买了域名之后怎么建设网站
  • 如何开办网站对电子政务做技术支持的网站
  • 网站建设和风险分析自己做网站写文章
  • 深圳宝安网站建设网站手机版下悬浮条怎么做
  • 企业网站备案信息查询龙华做棋牌网站建设