CA 认证过程及 https 实现方法

2023-05-16

CA 认证过程

CA 概述:Certificate Authority 的缩写,通常翻译成认证权威或者认证中心,主要用途是为用户发放数字证书。CA 认证的流程和公安局派出所颁发身份证的流程一样
认证中心(CA)的功能有:证书发放、证书更新、证书撤销和证书验证。
CA 证书作用:身份认证,实现数据的不可否认性。
我们先回顾一下身份证的办理过程:
带上户口本(证明你合法)-》当地派出所(认证机构)-》签发证书(审核有效信息)-》你去领证书
接下来我们回顾数字证书认证过程如下图:

D686-E0CF-D309-349E 8A05-3594-ECA5-D0EA B101-B6E7-8A9E-79B8 3698-89DD-C9E3-F045

证书请求文件:CSR 是 Cerificate Signing Request 的英文缩写,即证书请求文件,也就是证书申请者在申请数字证书时由 CSP(加密服务提供者)在生成私钥的同时也生成证书请求文件,证书申请者只要把CSR 文件提交给证书颁发机构后,证书颁发机构使用其根证书的私钥签名就生成了证书文件,也就是颁发给用户的证书。

总结:证书签名过程
1、 生成请求文件
2、 CA 确认申请者的身份真实性
3、 CA 使用根证书的私钥加密请求文件,生成证书
4、 把证书传给申请者

用户使用 CA 证书确认服务器身份过程如下图

1、请求文件发给 centos60 CA 认证中心
2、CA 认证 (用 CA 的私钥加密 centos70 的请求文件), 得到加密后的文件,这个文件就是centos70 的证书 ),CA 认证中心颁发给 centos70 加密后的数字证书
3、用户访问 centos70 并向 centos70 索要数字证书
4、用户拿到数字证书后,用浏览器中 CA 的公钥解密 centos70 的证书,解开后得到 centos70 的公钥和标识(主机名,国家,省,组织等信息),从而确认centos70 的身份。

证书价格:

https://buy.wosign.com/

https://www.shuzizhengshu.com/html/chanpin/SSLzhengshu/

https://freessl.cn/

实战 1:搭建 CA 认证中心

1、安装 CA 认证软件包中心:
[root@centos60 ~]# rpm -qf `which openssl`
openssl-1.0.2k-16.el7.x86_64

2、配置一个自己的 CA 认证中心。生成 CA 的根证书和私钥。 根证书中包括:CA 的公钥
[root@centos60 ~]# vim /etc/pki/tls/openssl.cnf

3、生成 CA 的公钥证书和私钥。
[root@centos60 ~]# /etc/pki/tls/misc/CA -h
usage: /etc/pki/tls/misc/CA -newcert|-newreq|-newreq-nodes|-newca|-sign|-verify

选项 :
-newcert 新证书
-newreq 新请求
-newreq-nodes  新请求节点
-newca  新的 CA 证书
-sign 签证
-verify  验证

[root@centos60 ~]# /etc/pki/tls/misc/CA -newca

[root@centos60 ~]# /etc/pki/tls/misc/CA -newca
CA certificate filename (or enter to create) 直接回车
Making CA certificate ...
Generating a 2048 bit RSA private key
................+++
...............+++
writing new private key to '/etc/pki/CA/private/./cakey.pem'
Enter PEM pass phrase:123456  输入密码,保护私钥
Verifying - Enter PEM pass phrase:  再次输入密码
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN 国家
State or Province Name (full name) []:beijing  城市
Locality Name (eg, city) [Default City]:haidian 市区
Organization Name (eg, company) [Default Company Ltd]:centos 公司名
Organizational Unit Name (eg, section) []:IT 部门
Common Name (eg, your name or your server's hostname) []:centos.com 您的姓名或您的服务器的主机名用来 指定 CA 认证中心服务器的名字
Email Address []:man@163.com
Please enter the following 'extra' attributes
to be sent with your certificate request添加一个“额外”的属性,让客户端发送 CA 证
书,请求文件时,要输入的密码
A challenge password []:直接回车
An optional company name []:直接回车
Using configuration from /etc/pki/tls/openssl.cnf CA服务器的配置文件。上面修改的
内容会添加到这个配置文件中
Enter pass phrase for /etc/pki/CA/private/./cakey.pem:123456 输入刚才保护 CA
私钥的密码
Write out database with 1 new entries
Data Base Updated 到此 CA 认证中心就搭建好了。

4、查看生成的 CA 根证书,根证书中包括 CA 公钥
[root@centos60 ~]# vim /etc/pki/CA/cacert.pem

5、查看根证书的私钥
[root@centos60 ~]# vim /etc/pki/CA/private/cakey.pem

实战 2:在 apache 上搭建 https

1、基于 apache 搭建 https 的整体流程如下:
(1)、在 centos70上安装 httpd
(2)、centos70 生成证书请求文件,发给 centos60 CA 认证中心进行签名,centos60 下发证书  给 centos70
(3)、把证书和 httpd 相结合,实现 https
(4)、测试 https 认证效果

2、安装:httpd web 服务器
[root@centos70 ~]# yum -y install httpd

[root@centos70 ~]# vim /etc/httpd/conf/httpd.conf

[root@centos70 ~]# systemctl start httpd


3、xuegod64 生成证书请求文件,获得证书
[root@centos70 ~]# openssl -h
[root@centos70 ~]# openssl genrsa -des3 -out /etc/httpd/conf.d/server.key

Generating RSA private key, 2048 bit long modulus
...................................+++
...........................................................+++
e is 65537 (0x10001)
Enter pass phrase for /etc/httpd/conf.d/server.key:123456 输入保护私钥的密码,保护私
钥时,使用的加密算法是 -des3
Verifying - Enter pass phrase for /etc/httpd/conf.d/server.key:123456 重复输入
有私钥可以推出来公钥,但是公钥不可以推出私钥。公钥由私钥生成

4、使用私钥生成证书请求文件

[root@centos70 ~]# openssl req -new -key /etc/httpd/conf.d/server.key -out /server.csr

Enter pass phrase for /etc/httpd/conf.d/server.key:123456 输入私钥的密码
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN 注意添加的国家,省,组织等信息要和 CA 保持一致
State or Province Name (full name) []:beijing
Locality Name (eg, city) [Default City]:haidian
Organization Name (eg, company) [Default Company Ltd]:centos
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server's hostname) []:centos.com这里要求输入的 Common Name 必须与通过浏览器访问您网站的 URL 完全相同,否则用户会发现您服务器证书的通用名与站点的名字不匹配,用户就会怀疑您的证书的真实性。可以使域名也可以使 IP 地址。
Email Address []:MAN@163.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:不输密码直接回车
An optional company name []:直接回车
证书请求文件中有 centos70 的公钥。 这个公钥是在生成证书请求文件时,通过指定的私钥/etc/httpd/conf.d/server.key 生成的。
常识: 通过私钥可以生成公钥的,通过公钥不可以推出来私钥。

5、将证书请求文件发给 CA 服务器:
[root@centos70 ~]# scp /server.csr 192.168.0.60:/tmp/ 

6、CA 签名
[root@centos60 ~]# openssl ca -keyfile /etc/pki/CA/private/cakey.pem -cert /etc/pki/CA/cacert.pem -in /tmp/server.csr -out /server.crt

Using configuration from /etc/pki/tls/openssl.cnf
Enter pass phrase for /etc/pki/CA/private/cakey.pem:123456
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number:
            81:23:1f:d4:a9:6c:8d:18
        Validity
            Not Before: Nov 20 09:22:58 2020 GMT
            Not After : Nov 20 09:22:58 2021 GMT
        Subject:
            countryName               = CN
            stateOrProvinceName       = guangzhou
            organizationName          = centos
            organizationalUnitName    = IT
            commonName                = centos.com
            emailAddress              = man@163.com
        X509v3 extensions:
            X509v3 Basic Constraints: 
                CA:FALSE
            Netscape Comment: 
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier: 
                4D:20:79:9C:91:BD:FE:0A:47:70:EB:3B:1F:5B:D1:56:3C:4D:7D:11
            X509v3 Authority Key Identifier: 
                keyid:41:E0:EC:04:07:00:23:76:74:B8:50:67:45:98:D6:0E:67:1A:CC:E8

Certificate is to be certified until Nov 20 09:22:58 2021 GMT (365 days)#证书有效期是
365 天。证书进行认证,直到 11 月 20 日09时 22 分 58 秒格林尼治标准时间 2021 年(365 天)
Sign the certificate? [y/n]:y #注册证书
1 out of 1 certificate requests certified, commit? [y/n]y#确认
Write out database with 1 new entries
Data Base Updated

7、将证书复制到 xuegod64
[root@centos60 ~]# scp /server.crt 192.168.0.70:/

创建证书出现如下报错。

failed to update database
TXT_DB error number 2

[root@centos60 CA]# > /etc/pki/CA/index.txt  #清空该index.txt文件即可

实战 3:使用证书实现 https

SSL 四次握手实现安全传输数据

1、SSL 概述:(Secure Socket Layer)安全套接字层,通过一种机制在互联网上提供密钥传输。其主要目标是保证两个应用间通信数据的保密性和可靠性,可在服务器端和用户端同时支持的一种加密算法。目前主流版本 SSLV2、SSLV3(常用)。

注:SSL作用,可以让你在一个不安全的公网环境中,安全传输你的密钥。

2、SSL 应用情景:

 

3、SSL 四次握手安全传输流程如下:

C(client 客户端) ------------------------------> S(server 服务端)
(1)、 客户端请求一个安全的会话,协商加密算法
C <------------------------------------------------- S
(2)、服务端将自己的证书传给客户端
C -------------------------------------------------> S
(3)、客户端用浏览中存放CA的根证书检测centos70证书,确认centos70是我要访问的网站。客户端使用CA根证书中的公钥解密centos70的证书,从而得到centos70的公钥;然后客户端生成一把对称的加密密钥,用centos70的公钥加密这个对称加密的密钥发给centos70。
后期使用对称密钥加密数据
C <------------------------------------------------> S
(4)、centos70使用私钥解密,得到对称加密的密钥。从而,使用对称加密密钥来进行安全快速传输数据。这里使用对称加密数据,是因为对称加密和解密速度快
总结 SSL 四次握手流程整体分两个过程:
过程 1: 确认身份;过程 2:生成一把对称加密密钥,传输数据。

在 centos70 上配置 HTTPS web 服务器

1、安装 SSL 模块
[root@centos70 ~]# yum -y install mod_ssl

2、配置 apache 加载证书文件 (假如,要修改443端口为8443,那查找443,找到的都需要修改为8443)
[root@centos70 ~]# cp /server.crt /etc/httpd/conf.d/
[root@centos70 ~]# ls /etc/httpd/conf.d/server.key
/etc/httpd/conf.d/server.key

[root@centos70 ~]# vim /etc/httpd/conf.d/ssl.conf

SSLCertificateFile /etc/httpd/conf.d/server.crt
SSLCertificateKeyFile /etc/httpd/conf.d/server.key

3、启动服务:

[root@centos70 ~]# systemctl restart httpd
Enter SSL pass phrase for 192.168.0.70:443 (RSA) : ******           #httpd 私钥密码

4、测试 https,查看端口

[root@centos70 ~]# netstat -anput | grep 443
tcp6       0      0 :::443                  :::*                    LISTEN      6962/httpd

5、通过浏览器测试 https 效果

apache 80 跳转 443

[root@centos70 conf]# vim httpd.conf

Include conf.modules.d/*.conf
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} !^/exception.html
RewriteRule (.*) https://%{SERVER_NAME}$1 [R]

或者

Include conf.modules.d/*.conf
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} !^/expection.html
RewriteRule (.*) https://%{SERVER_NAME}%{REQUEST_URI} [R]

或者

RewriteEngine on
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

实战 4:使用 Nginx 实现 https

[root@centos70 ~]# systemctl stop httpd
[root@centos70 ~]# ss -lnput

安装 Nginx
[root@centos70 ~]# vim /etc/yum.repos.d/nginx.repo

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/rhel/7/$basearch/
gpgcheck=0
enabled=1

[root@centos70 ~]# yum -y install nginx
[root@centos70 ~]# rpm -ql nginx
[root@centos70 ~]# cd /etc/nginx

启动 Nginx:
[root@centos70 nginx]# systemctl start nginx

测试 Nginx:在浏览器中输入:http://192.168.0.70

配置 Nginx 实现 https

[root@centos70 nginx]# vim nginx.conf

多个网站可以单独写多个配置文件,比较容易管理。

[root@centos70 nginx]# vim conf.d/ssl.conf

server {
    listen       443 ssl;
    keepalive_timeout 70;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5;
    ssl_certificate /etc/httpd/conf.d/server.crt;
    ssl_certificate_key /etc/httpd/conf.d/server.key;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

[root@centos70 nginx]# nginx -t
Enter PEM pass phrase:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

重启 Nginx:
[root@centos70 nginx]# systemctl restart nginx
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.

[root@centos70 nginx]# journalctl -xe

错误:Enter PEM pass phrase:
是 systemctl 没有给出输入密码的接口

[root@centos70 nginx]# yum -y install psmisc
[root@centos70 nginx]# killall nginx

[root@centos70 nginx]# nginx
Enter PEM pass phrase:123456 #私钥的密码

[root@centos70 nginx]# nginx -s reload
Enter PEM pass phrase:123456 #私钥的密码
 

[root@centos70 nginx]# yum -y install lsof

[root@centos70 nginx]# lsof -i:443
COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   7203  root    6u  IPv4  51894      0t0  TCP *:https (LISTEN)
nginx   7204 nginx    6u  IPv4  51894      0t0  TCP *:https (LISTEN)
[root@centos70 nginx]# netstat -anput | grep 443
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      7203/nginx: master

测试 https:
在浏览器中输入:https://192.168.0.70/

nginx 80 跳转 443

[root@centos70 conf.d]# vim default.conf

server {
    listen       80;
    server_name  www.centos.com;
    rewrite (.*) https://$server_name$request_uri;

[root@centos70 conf.d]# nginx -s stop
Enter PEM pass phrase:
[root@centos70 conf.d]# netstat -anput | grep nginx
[root@centos70 conf.d]# nginx
Enter PEM pass phrase:

tomcat 80 跳转 443

链接:https://pan.baidu.com/s/1SyiR-i5YL4flKgfrMmdzeQ 
提取码:1234 

[root@centos70 conf]# vim web.xml

[root@centos70 conf]# vim server.xml

https://blog.51cto.com/37003839/2427385

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CA 认证过程及 https 实现方法 的相关文章

  • ubuntu的文件系统结构

    一 ubuntu 系统的根目录 Linux 系统下 就是系统的根目录 xff0c 所有的目录是由根目录衍生出来的 进入根目录的方法 xff1a 终端输入 34 cd 34 命令 如下所示 xff1a 二 ubuntu 文件系统结构 bin
  • 八、安装go-cqhttp+QQBot教程+对接青龙

    首先要有一台云服务器 阿里云 点击跳转 腾讯云 点击跳转 QQ交流群 244016111 上车 点击跳转 或 关注公众号 汤姆的日记 已更新全套需要点击跳转 一 服务器基础设置及宝塔 43 docker安装教程 二 青龙面板安装教程 43
  • c语言中d和i有什么区别

    c语言中d和i的区别 xff1a 在 printf 格式串中使用时 xff0c 没有区别 在 scanf 格式串中使用时 xff0c 有点区别 xff0c 如下 xff1a 在scanf格式中 xff0c d 只与十进制形式的整数相匹配 而
  • CentOS7.2 安装GitLab服务器

    01 yum install y curl policycoreutils python openssh server 02 systemctl enable sshd 03 systemctl start sshd 04 wget htt
  • STM32CubeMX生成STM32L073RZT6 BootLoader程序

    1 环境 xff1a Windows10 xff0c STM32CubeMX6 0 0 xff0c Keil5 25 单片机为STM32LRZT6 196KBytes Flash xff0c 20KBytes RAM 2 功能要求 设计Bo
  • RHEL7 的注册

    安装RHEL7后 xff0c 在没有注册的时候 xff0c YUM软件仓库是不能使用的 xff0c 需要注册后才可以使用 xff0c 但是RHEL是商用版系统 xff0c 需要购买授权 在网上查找后 xff0c 发现RHEL有个开发者订阅
  • linux下查看可执行文件的相关信息

    1 file 可执行文件 可查看可执行文件是ARM架构还是X86架构 2 nm 可执行文件 可查看文件中的符号 xff0c 包括全局变量 xff0c 全局函数等 3 ldd 可执行文件 可查看文件执行所需要的动态库 4 strings 可执
  • linux下查看系统内存使用情况的几个命令

    最近在客户现场运行的arm linux嵌入式设备出现了死机情况 xff0c 由于接触linux嵌入式设备时间不长 xff0c 遇到该问题后觉得束手无措 后领导提示说查看其他没有死机设备的系统资源使用情况 xff0c 下面介绍下我用到的那些命
  • Linux下获取CPUID、硬盘序列号

    在很多系统软件的开发中 xff0c 需要使用一些系统的唯一性信息 所以 xff0c 得到主机的CPUID 硬盘序列号及网卡的MAC地址 xff0c 就成个一件很重要的应用 需要的准备知识有 xff1a 1 GCC的嵌入汇编 xff0c 具体
  • Thinkpad MORFFHL滑鼠接收器配对

    1 接收器插入电脑 2 关闭鼠标 3 同时按住鼠标左键 右键 滚轮打开电源开关 xff0c 3个键按住3秒左右松手 4 同时按下3个按键 xff0c 指示灯橘色闪烁 5 再次同时按下3个按键 xff0c 配对结束 6 关闭鼠标重新打开 移动
  • Vbox6.04 Debian虚拟机安装增强工具

    环境 xff1a VBox6 04 Debian9 6 64位 在创建Vbox虚拟机后安装好Debian系统 开始操作前请确保虚拟机可以上网 1 root用户登录Debian xff1b 2 uname r 查看debian内核版本 3 a
  • Debian系统源码安装usb网卡驱动

    系统为debian 9 6 64位版本 xff0c 安装网卡驱动为asix的 AX88772B芯片 1 安装系统build模块 apt get install linux image uname r linux headers uname
  • Ubuntu根目录下各文件夹的作用

    Ubuntu上常识和常用命令 xff1a 1 Ubuntu文件结构 在ubuntu上硬盘的目录和Windows上不同 xff0c Windows可以根据自己的需求分不同的盘符 xff0c 但ubuntu上只有一个盘 xff0c 从根目录开始
  • linux中的export命令介绍

    export Linux中export命令介绍 xff0c 三种方法设置环境变量 CSDN博客
  • 一位 JavaScript 铁杆粉眼中的 Rust

    以下为译文 xff1a 我使用 Rust 编写了一些小工具 xff0c 而且觉得很有乐趣 我的日常工作需要大量使用 JavaScript xff0c 而 Rust 给我一种非常熟悉的感觉 xff0c 因此我决定尝试一下Rust 但与此同时
  • 树莓派3B+搭配Buster版本系统进行红外遥控开发

    一 配件清单 树莓派 xff1a 3B 43 系统版本 xff1a Buster红外接收器 xff1a VS1838B 红外遥控器 xff1a 未知型号 xff08 标有ar mp3字样 xff09 杜邦线若干 二 线路组合准备 根据网上查
  • Rust生态技术栈

    文章目录 Rust开发生态 开发整理 20230106更新 1 日志记录1 1 simple logger1 2 env logger 2 输入 输出3 String类型的match4 print 输出无效问题5 线程6 Excel读取7
  • Rust GUI方案调研

    GUI库方案 xff1a QT xff1a qt功能强大 xff0c 稳定 xff0c 如果功能比较复杂 xff0c 可以考虑qt绑定 orbtk xff1a rust语言编写的操作系统redox项目的GUI方案 xff0c 完全使用rus
  • windows远程Ubuntu(xrdp+vnc)步骤及问题解决方案(ip设置)

    首先将计算机连入相应的路由器 xff0c 登陆账号即可上网 xff0c 下面部分引用了blog xff1a http zhouxiaowei1120 github io Blogs 20160407 html 其中第 xff08 5 xff
  • Ubuntu/debian 中更改桌面的路径/位置

    虚拟机debian系统中安装好vmware tool 后 xff0c 系统的桌面变为了主目录 修改如下 xff1a vi config user dir dirs 把其中的 XDG DESKTOP DIR 61 HOME 改成如下 XDG

随机推荐

  • 八数码问题的可解性

    对于给定八数码棋局的初始状态 xff0c 我们的目标是通过交换空格与其相邻棋子使棋盘达到目标状态 其中 xff0c 游戏规则是只能交换空格与其上下左右四个方向的相邻棋子 假设棋局目标状态为如下形式 xff1a xff08 A B C D E
  • Powershell远程错误整理

    xfeff xfeff 错误现象 权限不够 xff1a 执行Set WSManQuickConfig Enable PSRemoting会报错 xff0c 用Get Item WSMan 检查时会发现其子项无法访问 xff0c 用reged
  • vs2013编译错误error: MSB8020,一招解决这个错误

    错误提示 xff1a error MSB8020 The build tools for v140 Platform Toolset 61 39 v140 39 cannot be found To build using the v140
  • CSP考试 2016年04月第3题 路径解析 C++实现

    表示本目录 xff0c 例如 d1 f1 指定的就是 d1 f1 如果有多个连续的 出现 xff0c 其效果等同于一个 绝对路径 xff1a 以 符号开头 xff0c 表示从根目录开始构建的路径 相对路径 xff1a 不以 符号开头 xff
  • bash环境中的通配符和特殊符号的简单介绍

    Bash环境中可以用通配符 wildcard 来更好的对数据进行处理 下面介绍一些常用的通配符 符号 意义 代表0个到无穷多个任意字符 代表一定有一个任意字符 代表一定有一个在中括号内得字符 非任意字符 例如 abcd 代表一定有一个字符
  • spring boot自定义注解拦截接口

    自定义注解 xff0c 拦截接口请求 maven依赖管理 span class token generics function span class token punctuation lt span dependency span cla
  • nacos与spring cloud

    前言 从微服务兴起后 xff0c 服务治理问题已经成为其最大问题 起初有eureka xff0c zookeeper consul同台竞争 xff0c 本人也使用过eureka 43 config server作为注册中心和配置中心 xff
  • nacos与sentinel

    sentinel 高可用流控 sentinel 是阿里开源的一款系统流控系统 xff0c 可以在线配置本系统请求访问请求控制 软件下载 源码 运行版 运行 nohup java jar sentinel dashboard 1 7 2 ja
  • jenkins 结合ssh 实现多服务器部署jar包

    jenkins使用手册 简介 官网介绍 xff1a Jenkins是开源的CI CD xff08 持续集成 持续交付 xff09 软件领导者 有如下几个优点 xff1a 简单安装配置简单丰富的插件 超过1000个插件扩展性分布式 一 软件下
  • feign调用初始化问题

    最近使用spring cloud微服务遇到一个问题 xff0c 微服务之间使feign第一次调用时会非常的耗时 xff0c 一个请求如果调用链长的情况下 xff0c 接口返回可能会达到10s以上 xff0c 这是一个正常系统都不能容忍的 基
  • VScode 无法下载Go工具解决方案

    使用七牛云代理下载所需要的工具依赖 xff0c 具体配置请查看 说明 https goproxy cn
  • Sonar代码质量管理服务搭建并导入java项目

    1 软件下载 7 4 2 软件配置 打开解压后文件conf sonar properties mysql版本必须大于5 6小于8 0 MySQL gt 61 5 6 amp amp lt 8 0 sonar jdbc url 61 mysq
  • java join方法实现线程的串行

    java实现多线程之间串行执行 xff0c 网上也有很多的教程 在这里我主要说的是 xff1a java Thread类的join函数 xff0c 先贴代码吧 xff1a package cn com fhz thread Created
  • Windows上Rust所依赖的msvc到底怎么装?

    在Windows上面安装Rust的开发环境 xff0c 看起来颇具挑战性 我们会被告知需要安装一个名叫Microsoft Visual Studio C 43 43 build tools的编译工具 xff0c 并被给到一个官方链接 然而
  • Word 转 Markdown

    1 Pandoc 工具将 Word 文档转为 Markdown 可以借助 Pandoc 工具将 Word 文档转为 Markdown xff0c 例如 xff0c 此处将 README docx 转成 README md xff0c 命令如
  • c语言现代方法 chapter20自学笔记

    如果编写程序需要用到数据在内存中如何存储 xff0c 那么除非必要 xff0c 否则不用 xff0c 如果用 xff0c 那么集中在程序中的某个模块 xff0c 不要分散在各处 20 1 移位运算符 c语言提供了6个位运算符 这些运算符可以
  • 查看python源码之jieba安装

    Python 2 x 下的安装 全自动安装 xff1a easy install jieba 或者 pip install jieba 半自动安装 xff1a 先下载http pypi python org pypi jieba xff0c
  • 在Ubuntu Linux上搭建go语言环境

    一 安装VMware Tools 1 在刚装好的ubuntu linux上 xff0c 如果没有安装VMware Tools xff0c 那么我们就要先安装它 打开我们的ubuntu linux xff0c 然后点击左上角的虚拟机 xff0
  • Linux nohup实现后台运行程序及查看(nohup与&)

    1 后台执行 一般运行linux上的程序都是执行 sh 文件 xff08 sh文件 xff09 xff0c 那如果不影响当前CMD窗口的操作 xff0c 需要后台运行怎么办呢 xff1f 这时就需要借助 nohup 和 amp 命令来实现
  • CA 认证过程及 https 实现方法

    CA 认证过程 CA 概述 xff1a Certificate Authority 的缩写 xff0c 通常翻译成认证权威或者认证中心 xff0c 主要用途是为用户发放数字证书 CA 认证的流程和公安局派出所颁发身份证的流程一样 认证中心