diff --git "a/\346\236\227\346\263\223\347\202\234/20240612-\351\205\215\347\275\256https.md" "b/\346\236\227\346\263\223\347\202\234/20240612-\351\205\215\347\275\256https.md" new file mode 100644 index 0000000000000000000000000000000000000000..422b471005bb058f3f5a4bb064962104ef23f549 --- /dev/null +++ "b/\346\236\227\346\263\223\347\202\234/20240612-\351\205\215\347\275\256https.md" @@ -0,0 +1,91 @@ +给自己的网站设置“https”协议 + +## 什么是https? + +###### 超文本传输安全协议(英语:HyperText Transfer Protocol Secure,缩写:HTTPS;常称为HTTP over TLS、HTTP over SSL或HTTP Secure)是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用SSL/TLS来加密数据包。HTTPS开发的主要目的,是提供对网站服务器的身份认证,保护交换资料的隐私与完整性。这个协议由网景公司(Netscape)在1994年首次提出,随后扩展到互联网上 + +## 准备工作 + +### SSH工具、申请一张ssl证书、一台已经部署好网站的服务器 + +## 1、安装Certbot工具 + +##### 什么是Certbot?:Certbot是Let's Encrypt提供的官方客户端工具,用于自动化地获取、安装和更新HTTPS证书。 它支持多种服务器类型和操作系统,并提供了简化的命令行接口,使得证书的部署过程变得简单明了 + +```js +//确保你的系统包是最新的: +sudo apt update +sudo apt upgrade + +//安装 Certbot 和 Nginx 插件 +sudo apt install certbot python3-certbot-nginx +``` + +#### 2上传证书及密钥 + +##### 以华为云为例;搜索框搜索“SSL证书管理 SCM” 点击购买 在证书类型里选择 “DV (Basic)” 证书品牌选择 “DigCert” 即可申请免费证书 ,申请完后验证域名完成后等待审批,注意验证域名需要重新到域名解析中重新解析一个出来,按它给出的要求修改即可。一切完成后即可下载证书,点击下载会下载一个压缩包,压缩包里有众多不同程序的证书,我们选择后缀为“_Nginx”就好,解压出后会有两个文件“.crt、.key ”(一个证书、一个密钥) 证书下载完成后一切准备工作就已经完成了 + +##### 进入SSH工具登录服务器 + +```js +//进入nginx文件夹并新建一个名为“ssl”的文件夹 +cd /etc/nginx +mkdir ssl + +//将已经下载好的的密钥和证书上传到ssl文件夹中 + + +``` + +## 配置Nginx + +### 还记得之前用debian快速搭建一个静态网站中有一步是新建的一个名为“conf.d”的文件夹里面有一个以“.conf” 结尾的配置文件接下来我们就要修改它 + +```js +// 以为自己的域名“91c13.top”为例 +vim /etc/nginx/conf.d //修改配置文件 + +server { + listen 80; + server_name 91c13.top www.91c13.top; + + + location / { + root /var/www/91c13.top; + index index.html; + } +} +//上面是之前写入的千万不要动它 + + +//新增以下几行 +server { + listen 443 ssl http2; + server_name lhw66.cn www.lhw66.cn; + + ssl_certificate /etc/nginx/ssl/lhw66.cn.crt; //证书目录 + ssl_certificate_key /etc/nginx/ssl/lhw66.cn.key; //密钥目录 + + # 如果有中间证书,添加以下行若没有即可删除 + ssl_trusted_certificate /etc/nginx/ssl/ca-bundle.crt; + + root /var/www/lhw66.cn; # 修改为你的网站根目录 + index index.html index.htm; + + location / { + try_files $uri $uri/ =404; + } +} + +//重新加载 Nginx 配置确认无误 +nginx -t//显示‘is successful’即为成功 + +//重新加载 Nginx 服务: + +systemctl reload nginx //重启nginx服务 +``` + +## 大功告成接下来使用“https://+域名”即可成功访问服务器,访问成功后可以看见域名前有一把小锁的标志,即https协议配置成功 + +```sh +https://lhw66.cn \ No newline at end of file diff --git "a/\346\236\227\346\263\223\347\202\234/20240614-\351\207\215\345\256\232\345\220\221.md" "b/\346\236\227\346\263\223\347\202\234/20240614-\351\207\215\345\256\232\345\220\221.md" new file mode 100644 index 0000000000000000000000000000000000000000..aa964c993adf703741ab71cd27499d4c0ec1fa9e --- /dev/null +++ "b/\346\236\227\346\263\223\347\202\234/20240614-\351\207\215\345\256\232\345\220\221.md" @@ -0,0 +1,45 @@ +#### 重定向:将命令的输入或输出重定向到文件或其他命令。 + +##### 输出重定向 + + 1.覆盖输出重定向 ">":将命令的标准输出重定向到一个文件,如果文件已经存在,则覆盖它。 + 2.追加输出重定向 ">>":将命令的标准输出追加到一个文件的末尾,如果文件不存在,则创建它。 + +##### 输入重定向 + + 1.输入重定向 "<":将文件的内容作为命令的输入。 + +##### 错误重定向 + + 1.错误输出重定向 "2>":将命令的错误输出重定向到一个文件。 + 2.错误输出追加重定向 "2>>":将命令的错误输出追加到一个文件。 +同时重定向标准输出和标准错误输出: + "&>"=1>2>:将标准输出和错误输出同时重定向到同一个文件。 + +##### 管道 "|":将一个命令的输出作为另一个命令的输入。 + +命令 < 文件1> 文件2:将文件1作为命令的输入设备,该命令的执行结果输出到文件2中。 + + >/dev/null + >这条命令的作用是将标准输出1重定向到/dev/null中。 /dev/null代表linux的空设备文件,所有往这个文件里面写入的内容都会丢失,俗称“黑洞”。执行了>/dev/null之后,标准输出就会不再存在,没有任何地方能够找到输出的内容。 + >不让输出任何信息到屏幕 + >就用:命令 > /dev/null 2>&1 + +0 标准输入 +1 标准输出 +2 标准错误输出 + +##### tee 它的作用是从标准输出中读取数据,并同时将数据输出到标准输出一个或多个文件 + +基本语法:tee 选项 一个或多个文件名(数据要写入地文件) + +### 作业 + +###### << 是什么功能? + +"<"表示使用文件提供数据,"<<"用来设置输入结束的字符 +命令 << 分界符 从标准输入中读入,直到遇见分界符才停止 + +###### ()把命令包括起来,是干什么功能? + +命令组:括号中的命令会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用,括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格 \ No newline at end of file