服务器配置https协议,三种免费的方法

2023-10-30

一、Linux自签(OPENSSL生成SSL自签证书)

第1步:生成私钥
执行如下命令生成一个RSA私钥

//生成rsa私钥,des3算法,1024位强度,ssl.key是秘钥文件名。
openssl genrsa -des3 -out ssl.key 1024

然后他会要求你输入这个key文件的密码,由你随便设置。
由于以后要给nginx使用。每次reload nginx配置时候都要你验证这个PAM密码的。
但是生成时候必须输入密码。如果不想以后那么麻烦,生成之后可以执行如下命令再删掉。

openssl rsa -in ssl.key -out ssl.key

第2步:生成CSR(证书签名请求)
根据刚刚生成的key文件来生成证书请求文件,操作如下:

openssl req -new -key ssl.key -out ssl.csr

说明:执行以上命令后,需要依次输入国家、地区、城市、组织、组织单位、Common Name和Email。其中Common Name应该与域名保持一致。

Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:Beijing
Locality Name (eg, city) []:Beijing
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Beijing
Organizational Unit Name (eg, section) []:Beijing
Common Name (e.g. server FQDN or YOUR name) []:Beijing.com 这一项必须和你的域名一致
Email Address []:2382662404@qq.com

第3步:生成自签名证书

//这里3650是证书有效期(单位:天)。这个大家随意。最后使用到的文件是key和crt文件。
openssl x509 -req -days 3650 -in ssl.csr -signkey ssl.key -out ssl.crt

需要注意的是,在使用自签名的临时证书时,浏览器会提示证书的颁发机构是未知的。

第4步:安装私钥和证书
打开conf目录中的nginx.conf配置文件修改443端口监听配置。一般nginx配置文件默认路径为 /usr/local/nginx/conf/nginx.conf,执行如下命令打开并修改:

vim /usr/local/nginx/conf/vhost/nginx.conf //路径是你的nginx配置域名的文件路径

server {
listen 443 ssl;
server_name 117.50.104.94; #域名
root /wwwroot/zly/public; #项目地址
index index.php index.html index.htm default.php default.htm default.html;
ssl_certificate “/home/ssh/ssl.crt”; #此处填写刚刚生成的ssl.crt文件路径
ssl_certificate_key “/home/ssh/ssl.key”;#此处填写刚刚生成的ssl.key文件路径
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHEECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_prefer_server_ciphers on;
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
location / {
try_files $uri u r i / / i n d e x . p h p ? uri/ /index.php? uri//index.php?query_string;
}
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME d o c u m e n t r o o t document_root documentrootfastcgi_script_name;
fastcgi_param PHP_VALUE open_basedir=$document_root:/tmp/:proc/;
fastcgi_param PHP_VALUE open_basedir=/wwwroot;
include fastcgi_params;
}
}

修改配置并保存后,执行以下命令:

nginx -s reload

OK,到这里就完成了使用Linux自签的方法配置https协议.
tips:自签证书因为安全性很低,会被谷歌浏览器拦截
下面是证书检测详情

在这里插入图片描述

二、阿里云免费证书

第1步:登陆阿里云账号,选择证书服务
在这里插入图片描述
第2步:选择DV SS
在这里插入图片描述
第3步:选择Symantec
在这里插入图片描述
第4步:选择OV SSL
在这里插入图片描述
第5步:选择免费型DV SSL
在这里插入图片描述
第6步:好,经过曲折的选择完毕之后,购买,需要支付0元(免费的啦)
在这里插入图片描述
第7步:购买成功之后会返回证书控制台,然后点击补全信息

在这里插入图片描述
第9步:填写申请人的个人信息,如实填写就好
在这里插入图片描述
第10步:补全成功之后,会返回域名配置引导页,如图所示
在这里插入图片描述
第11步:打开自己的域名控制台,添加解析

在这里插入图片描述

第12步:给域名添加TXT记录,此处填写的是第10步的信息,如图所示
在这里插入图片描述

第13步:确认完毕之后,会自动返回证书配置页,可以进行配置检测

在这里插入图片描述

如果配置正确,左边会显示“DNS配置记录正确,请耐心等候”。否则的话,就是域名TXT记录配置错误,返回检查第12步的信息是否填写正确

第14步:一般10分钟之内就出结果了,配置正确的话,会自动返回这个页面,下载证书
下载证书.png

第15步:安装证书,阿里教程挺详细的,就不做赘述了
安装教程.png

下面是我的nginx配置内容,可供参考:

server {
listen 443;
server_name fdfk.com ;
ssl on;
root /usr/share/nginx/html;

    ssl_certificate "/home/alissl/214715369370158.pem";
    ssl_certificate_key "/home/alissl/214715369370158.key";
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_prefer_server_ciphers on;

    location / {
    }

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}

修改配置并保存后,执行以下命令:

nginx -s reload
可使nginx重新加载配置,使配置生效。

OK,到这里就完成了使用阿里云免费证书的方法配置https协议。
下面是证书检测详情
在这里插入图片描述

三、Let’s Encrypt免费证书

1:Let’s Encrypt简介
Let’s Encrypt作为一个公共且免费SSL的项目逐渐被广大用户传播和使用,是由Mozilla、Cisco、Akamai、IdenTrust、EFF等组织人员发起,主要的目的也是为了推进网站从HTTP向HTTPS过度的进程,目前已经有越来越多的商家加入和赞助支持。

Let’s Encrypt免费SSL证书的出现,也会对传统提供付费SSL证书服务的商家有不小的打击。到目前为止,Let’s Encrypt获得IdenTrust交叉签名,这就是说可以应用且支持包括FireFox、Chrome在内的主流浏览器的兼容和支持,虽然目前是公测阶段,但是也有不少的用户在自有网站项目中正式使用起来。

Let’s Encrypt 的最大贡献是它的 ACME 协议,第一份全自动服务器身份验证协议,以及配套的基础设施和客户端。这是为了解决一直以来 HTTPS TLS X.509 PKI 信任模型,即证书权威(Certificate Authority, CA)模型缺陷的一个起步。在客户端-服务器数据传输中,公私钥加密使得公钥可以明文传输而依然保密数据,但公钥本身是否属于服务器,或公钥与服务器是否同属一个身份,是无法简单验证的。证书权威模型通过引入事先信任的第三方,由第三方去验证这一点,并通过在服务器公钥上签名的方式来认证服务器。第三方的公钥则在事先就约定并离线准备好,以备访问时验证签名之用。这个第三方就称为证书权威,简称CA。相应的,CA验证过的公钥被称为证书。问题是,如果服务器私钥泄露,CA无法离线使对应的证书无效化,只能另外发布无效记录供客户端查询。也就是说,在私钥泄露到CA发布无效记录的窗口内,中间人可以肆意监控服-客之间的传输。如果中间人设法屏蔽了客户端对无效记录的访问,那么直到证书过期,中间人都可以进行监控。而由于当前CA验证和签发证书大多手动,证书有效期往往在一年到三年。Let’s Encrypt 签发的证书有效期只有90天,甚至希望缩短到60天。有效期越短,泄密后可供监控的窗口就越短。
2:部署Let’s Encrypt证书
2.1 检查服务器是否安装Python与Git
检测Python指令

#检查Python的版本是否在2.7以上
python -v //2.7版本

如果没有安装Python的话,执行以下命令进行安装(如果检测到已安装则略过)

#安装python所需的包

yum install zlib-devel
yum install bzip2-devel
yum install openssl-devel
yum install ncurses-devel
yum install sqlite-devel

#获取到Python

cd /usr/local/src

wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tar.xz
#解压Python2.7.12

tar -xvf Python-2.7.12.tar.xz

#编译python

cd Python-2.7.12/
./configure --prefix=/usr/local/python2.7
make && make install

#建立link

ln -s /usr/local/python2.7/bin/python2.7 /usr/local/bin/python

#解决系统 Python 软链接指向 Python2.7 版本后,因为yum是不兼容 Python 2.7的,所需要指定 yum 的Python版本

vim /usr/bin/yum

将头部的

#!/usr/bin/python

改成

#!/usr/bin/python2.6.6

检测Git指令

#检查系统是否安装git

git --version

如果没有安装Git的话,执行以下命令进行安装(如果检测到已安装则略过)

#git 安装

yum install git

2.2 快速获取Let’s Encrypt免费SSL证书
相较于第一种自签生成证书的方法,Let’s Encrypt肯定是考虑到推广HTTPS的普及型会让用户简单的获取和部署SSL证书,所以可以采用下面简单的一键部署获取证书。

#获取letsencrypt

git clone https://github.com/letsencrypt/letsencrypt

#进入letsencrypt目录

cd letsencrypt

#生成证书 --email后填写自己的邮箱 -d 后面填写需要配置证书的域名(支持多个哦)
./letsencrypt-auto certonly --standalone --email t@tsy6.com -d hxkj.vip -d www.hxkj.vip
Let’s Encrypt是支持绑定多域名的,上述两种方法都是只支持单域名。

2.3 Let’s Encrypt免费SSL证书获取与应用

在完成Let’s Encrypt证书的生成之后,我们会在"/etc/letsencrypt/live/hxkj.vip/"域名目录下有4个文件就是生成的密钥证书文件。

cert.pem - Apache服务器端证书
chain.pem - Apache根证书和中继证书
fullchain.pem - Nginx所需要ssl_certificate文件
privkey.pem - 安全证书KEY文件

因为我的是Nginx环境,那就需要用到fullchain.pem和privkey.pem两个证书文件。修改nginx配置的详细过程,上面两种方法都提到了,这里不再赘述,以下我修改好的配置文件:

server {
listen 443;
server_name hxkj.vip www.hxkj.vip;
ssl on;
root /usr/share/nginx/html;

ssl_certificate "/etc/letsencrypt/live/hxkj.vip/fullchain.pem";
    ssl_certificate_key "/etc/letsencrypt/live/hxkj.vip/privkey.pem";
    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout  5m;
    ssl_protocols SSLv2 SSLv3 TLSv1;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;
    error_page 404 /404.html;
        location = /40x.html {
    }
    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }
}

OK,到这里就完成了使用Let’s Encrypt免费证书的方法配置https协议。
下面是证书检测详情
在这里插入图片描述

从上图可以看出,Let’s Encrypt证书是有效期90天的,需要我们自己手工更新续期才可以。但是,身为程序员,可以自动执行的事,坚决不手动搞。
2.4 Let’s Encrypt证书自动续期,实现真正的永久免费使用
2.4.1 编写shell脚本
执行以下命令,在"/etc/letsencrypt/live/hxkj.vip/"域名目录下创建脚本,方便管理

vim /etc/letsencrypt/live/hxkj.vip/updatessl.sh //创建一个名字为updatessl的脚本

然后在脚本里添加如下代码

#!/bin/sh
/usr/local/src/Python-2.7.12/letsencrypt/certbot-auto renew --force-renew --pre-hook “service nginx stop” --post-hook “service nginx start”
#第一行是指此脚本使用/bin/sh 来执行
#第二行中–force-renew参数代表强制更新

退出并保存,然后给脚本添加可执行权限

// 这里的文件路径填写你自己的文件路径

// 这里的文件路径填写你自己的文件路径
chmod +x /etc/letsencrypt/live/hxkj.vip/updatessl.sh

2.4.2 创建定时任务
打开crontab文件

crontab -e

然后在文件末尾添加一行以下内容

0 0 28 * * root /etc/letsencrypt/live/hxkj.vip/updatessl.sh //我这里代表每月28号更新一次证书文件,文件路径填写你自己的文件路径

具体格式如下:

Minute Hour Day Month Dayofweek command
分钟 小时 天 月 天每星期 命令

每个字段代表的含义如下:

Minute 每个小时的第几分钟执行该任务
Hour 每天的第几个小时执行该任务
Day 每月的第几天执行该任务
Month 每年的第几个月执行该任务
DayOfWeek 每周的第几天执行该任务
Command 指定要执行的程序

在这些字段里,除了“Command”是每次都必须指定的字段以外,其它字段皆为可选字段,可视需要决定。对于不指定的字段,要用“*”来填补其位置。

记得重启crontab服务哦。好了,自动更新证书已经配置完了,再也不用担心证书过期啦!这也是我推荐使用这种方式生成证书的原因之一,没办法,懒啊~~~

四、总结
1.通过Linux自签方式生成签名文件,这种方式操作繁琐,安全性低,反正就是吃力不讨好,不推荐使用。
2.使用阿里云的免费证书,配置方便,唯一的缺点就是有效期只有一年,万一忘记更新就炸了。但是一年的时间也还好,可以考虑使用。
3.使用Let’s Encrypt证书,安全性优良,各大厂商都支持,还能实现自动更新有效期,这种方式强烈推荐!!!

转载:https://www.jianshu.com/p/eaad77ed1c1b

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

服务器配置https协议,三种免费的方法 的相关文章

  • Linux中如何避免sleep调用因信号而中断?

    我在 Linux 中使用实时信号来通知串行端口中新数据的到达 不幸的是 这会导致睡眠呼叫在有信号时被中断 有人知道避免这种行为的方法吗 我尝试使用常规信号 SIGUSR1 但我不断得到相同的行为 来自 nanosleep 联机帮助页 nan
  • Linux 内核使用的设备树文件 (dtb) 可视化工具? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个可以图形化表示Linux内核中使用的硬件设备树的工具 我正在尝试了解特定 Arm 芯片组
  • 任何退出 bash 脚本但不退出终端的方法

    当我使用exitshell 脚本中的命令 该脚本将终止终端 提示符 有什么方法可以终止脚本然后停留在终端中吗 我的剧本run sh预计通过直接获取或从另一个脚本获取来执行 编辑 更具体地说 有两个脚本run2 sh as run sh ec
  • 使用脚本检查 git 分支是否领先于另一个分支

    I have branch1 and branch2我想要某种 git branch1 isahead branch2 这将显示如果branch1已承诺branch2没有 也可能指定这些提交 我无法检查差异原因branch2 is在之前br
  • 如何在 Linux 和 C 中使用文件作为互斥体?

    我有不同的进程同时访问 Linux 中的命名管道 并且我想让此访问互斥 我知道可以使用放置在共享内存区域中的互斥体来实现这一点 但作为一种家庭作业 我有一些限制 于是 我想到的是对文件使用锁定原语来实现互斥 我做了一些尝试 但无法使其发挥作
  • BASH:输入期间按 Ctrl+C 会中断当前终端

    我的 Bash 版本是 GNU bash version 4 3 11 1 release x86 64 pc linux gnu 我有一段这样的代码 while true do echo n Set password read s pas
  • 如何并行执行4个shell脚本,我不能使用GNU并行?

    我有4个shell脚本dog sh bird sh cow sh和fox sh 每个文件使用 xargs 并行执行 4 个 wget 来派生一个单独的进程 现在我希望这些脚本本身能够并行执行 由于某些我不知道的可移植性原因 我无法使用 GN
  • 如何从 C++ 程序中重新启动 Linux?

    我有一个 Qt 4 GUI 我需要在下拉菜单中提供一个选项 允许用户选择重新启动计算机 我意识到这对于以其他方式重新启动计算机的能力来说似乎是多余的 但选择需要保留在那里 我尝试使用 system 来调用以下内容 suid root she
  • Ubuntu Python shebang 线不工作

    无法让 shebang 线在 Ubuntu 中为 python 脚本工作 我每次只收到命令未找到错误 test py usr bin env python print Ran which python usr bin python 在 sh
  • 如何在线程创建和退出时调用函数?

    include
  • 如何在 Linux 上通过 FTP 递归下载文件夹 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • ioctl 命令的用户权限检查

    我正在实现 char 驱动程序 Linux 并且我的驱动程序中有某些 IOCTL 命令仅需要由 ADMIN 执行 我的问题是如何在 ioctl 命令实现下检查用户权限并限制非特权用户访问 IOCTL 您可以使用bool capable in
  • 在内核代码中查找函数的最佳方法[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我开始浏览内核代码 遇到的一件事是如何跟踪函数调用 结构定义等 有没有一种好的方法可以快速跳转到函数定义并退出 我尝试过 Source N
  • Linux 中 m 标志和 o 标志将存储在哪里

    我想知道最近收到的路由器通告的 m 标志和 o 标志的值 从内核源代码中我知道存储了 m 标志和 o 标志 Remember the managed otherconf flags from most recently received R
  • SSH,运行进程然后忽略输出

    我有一个命令可以使用 SSH 并在 SSH 后运行脚本 该脚本运行一个二进制文件 脚本完成后 我可以输入任意键 本地终端将恢复到正常状态 但是 由于该进程仍在我通过 SSH 连接的计算机中运行 因此任何时候它都会登录到stdout我在本地终
  • 在 C 中使用单个消息队列是否可以实现双向通信

    我希望服务器向客户端发送一些消息 并让客户端确认它 我被分配了这个任务 我可以在 C linux 中使用单个消息队列来完成它还是我需要创建两个 谢谢 是的 可以使用 sysV 消息队列来做到这一点 从您之前的问题来看 您正在使用该队列 您可
  • linux下无法创建僵尸进程

    嗯 我有一个奇怪的问题 我无法在我的项目中创建僵尸进程 但我可以在其他文件中创建僵尸进程 有简单的说明 int main if fork 0 printf Some instructions n else sleep 10 wait 0 r
  • docker 非 root 绑定安装权限,WITH --userns-remap

    all 尝试让绑定安装权限正常工作 我的目标是在容器中绑定安装卷 以便 a 容器不以 root 用户身份运行入口点 二 docker daemon 配置了 userns remap 这样容器 主机上没有 root c 我可以绑定挂载和读 写
  • 在 .gitconfig 中隐藏 GitHub 令牌

    我想将所有点文件存储在 GitHub 上 包括 gitconfig 这需要我将 GitHub 令牌隐藏在 gitconfig 中 为此 我有一个 gitconfig hidden token 文件 这是我打算编辑并放在隐藏令牌的 git 下
  • python获取上传/下载速度

    我想在我的计算机上监控上传和下载速度 一个名为 conky 的程序已经在 conky conf 中执行了以下操作 Connection quality alignr wireless link qual perc wlan0 downspe

随机推荐

  • 三分钟教你小程序实现无感刷新!

    无感刷新 无感刷新对于前端来说是一项非常实用的技术 其本质是为了优化用户体验 让用户感受不到token已经过期 本质上就是登录时 储存token和refresh token 当token过期或错误时不需要用户跳回登录页重新登录 而是在响应拦
  • python读取文件名存到list_python读取文件名称生成list的方法

    下面为大家分享一篇python读取文件名称生成list的方法 具有很好的参考价值 希望对大家有所帮助 一起过来看看吧 经常需要读取某个文件夹下所有的图像文件 我使用python写了个简单的代码 读取某个文件夹下某个后缀的文件 将文件名生成为
  • 力扣 删除链表的节点

    给定单向链表的头指针和一个要删除的节点的值 定义一个函数删除该节点 返回删除后的链表的头节点 注意 此题对比原题有改动 示例 1 输入 head 4 5 1 9 val 5 输出 4 1 9 解释 给定你链表中值为 5 的第二个节点 那么在
  • 手动实现Spring IOC 跟 AOP 的雏形

    关注后回复 进群 拉你进程序员交流群 作者丨sowhat1412 来源丨sowhat1412 Spring Spring make java more simpleSpring make java more modernSpring mak
  • 在Linux下用C语言写贪吃蛇;

    项目思路 ncurses上下左右键的获得 gt 贪吃蛇地图的实现 gt 显示贪吃蛇的完整身子 gt 贪吃蛇向右移动 gt 贪吃蛇撞墙找死 gt 贪吃蛇自行向右行走与页面一起刷新 利用线程解决 gt 贪吃蛇四个方向的自由走位 gt 贪吃蛇吃饭
  • 教程:群体演化方法分析玉米的驯化与改良

    一般文章在筛选 正选择区间 时 大多 不考虑 群体的 演化历史 即不考虑 群体大小 的变化 只进行亚群之间各种群体遗传参数的对比 这可能会产生大量的假阳性 另一方面 研究一般也 不考虑 遗传信息的 迁移 所以作者希望将群体演化历史及遗传信息
  • MySQL高性能索引策略

    文章目录 高性能索引策略 独立的列 前缀索引 多列索引 选择合适的索引列顺序 聚簇索引 覆盖索引 使用索引扫描来做排序 高性能索引策略 正确地创建和使用索引是实现高性能查询的基础 高效地选择和使用索引有很多种方式 其中有些是针对特殊案例的优
  • 二叉树的基本概念(定义,特性,存储结构等)

    一 二叉树的定义 二叉树 Binary Tree 是n n gt 0 个数据元素的有限集合 该集合可以为空 空二叉树 也可以由一个称为根 root 的元素及两个不相交的 被分别称为左子树和右子树的二叉树组成 如上图中含有7个结点 其中A是根
  • Python安装MySQL库详解(解决Microsoft Visual C++ 9.0 is required )

    前面我们介绍的Python网络爬虫通常将抓取的数据存储至TXT或CSV文件 而当数据量增加之时 就需要将其存储至本地数据库了 Python访问数据库需要对应的接口程序 我们可以把接口程序理解为Python的一个模块 它提供了数据库客户端的接
  • css3选择器如何选择同一个父级下的相同class的第一个元素 nth-child nth-of-type

    1 2 3 4 5 选择第一个类名 demo item nth of type 1 demo item nth child 1 选择最后一个类名 demo item last child 选择其中一个指定的类名 demo item nth
  • Window.open()方法参数详解

    1 最基本的弹出窗口代码 window open page html 2 经过设置后的弹出窗口 window open page html newwindow height 100 width 400 top 0 left 0 toolba
  • 这三个 Go 水平自测题,手写不出来还是先老实上班吧

    现在技术文章特别卷 啥啥底层都能给你分析的头头是道 但是分析的对不对要看作者水平 很有可能一个错 抄他的那些人也跟着错 因为我以前看源码的时候就经常感觉自己在两种状态下切换 懂了 娘咧漏看了 这个函数干啥的 八股文这个事儿 其实也特别考验面
  • JS 将一维数组转化为二维数组

    1 需求 遇到一个送礼物的需求 礼物有很多个数据 这里是61个 这里用到的是轮播图进行切换 但是后端返回的是一个礼物list 前端需要对数据进行处理 要求每8个为一个数组 组成二维数组 2 js 代码 let list giftList l
  • Vue +Vant 实现顶部搜索栏

    搜索栏组件源码 SearchBar vue
  • 2023 年 Pycharm 安装教程

    简介 PyCharm是一款Python IDE 其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具 比如 调试 语法高亮 Project管理 代码跳转 智能提示 自动完成 单元测试 版本控制等等 此外 该IDE提供了一些高
  • 基于ssm超市管理系统(程序+数据库+文档)046

    大家好 我是CZ淡陌 一名专注以理论为基础实战为主的技术博主 将再这里为大家分享优质的实战项目 本人在Java毕业设计领域有多年的经验 陆续会更新更多优质的Java实战项目 希望你能有所收获 少走一些弯路 向着优秀程序员前行 更多优质项目
  • VSCode连接远程服务器

    一 安装插件 安装remote ssh remote WSL remote Development这三个插件 二 配置路径ssh config文件的路径 点击remote ssh的小齿轮 gt extension settings 将本地的
  • PCB原理图导入的2种方法,小白也能看懂!

    PCB原理图导入的2种方法 小白也能看懂 原创 凡亿教育 凡亿PCB 凡亿PCB Altium Designer的原理图设计导入PCB 存在两种方法 一种是直接导入法 类似于Allegro的第一方导入 另一种是间接法 即网表对比导入法 一
  • Java代码规范检查插件

    代码规范工具是什么 大家应该都有过写完代码后review的情况 用于提高编码质量 尽早的发现问题 节约开发时间和成本 但review 这个过程往往要消耗 更多的开发资源 所以就出现 自动检测可能代码中存在的问题的工具 我们一般把这类工具称为
  • 服务器配置https协议,三种免费的方法

    一 Linux自签 OPENSSL生成SSL自签证书 第1步 生成私钥 执行如下命令生成一个RSA私钥 生成rsa私钥 des3算法 1024位强度 ssl key是秘钥文件名 openssl genrsa des3 out ssl key