From 1b711e18a668b095993e33d8e0dd8df3f19fafbc Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 13 Jun 2024 12:44:10 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E7=AC=94=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...17\350\256\256\347\273\221\345\256\232.md" | 1 + ...612-Linux\350\256\276\347\275\256https.md" | 93 +++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 "\351\231\266\345\256\227\350\261\252/\347\254\224\350\256\260/20240612-Linux\350\256\276\347\275\256https.md" diff --git "a/\351\231\266\345\256\227\350\261\252/\347\254\224\350\256\260/20240606-vim\345\260\217\346\270\270\346\210\217\345\217\212https\345\215\217\350\256\256\347\273\221\345\256\232.md" "b/\351\231\266\345\256\227\350\261\252/\347\254\224\350\256\260/20240606-vim\345\260\217\346\270\270\346\210\217\345\217\212https\345\215\217\350\256\256\347\273\221\345\256\232.md" index 239b8fc..bbac9dd 100644 --- "a/\351\231\266\345\256\227\350\261\252/\347\254\224\350\256\260/20240606-vim\345\260\217\346\270\270\346\210\217\345\217\212https\345\215\217\350\256\256\347\273\221\345\256\232.md" +++ "b/\351\231\266\345\256\227\350\261\252/\347\254\224\350\256\260/20240606-vim\345\260\217\346\270\270\346\210\217\345\217\212https\345\215\217\350\256\256\347\273\221\345\256\232.md" @@ -145,6 +145,7 @@ systemctl reload nginx //重启nginx服务 ``` ## 大功告成接下来使用“https://+域名”即可成功访问服务器,访问成功后可以看见域名前有一把小锁的标志,即https协议配置成功 + ```sh https://91c13.top/ ``` diff --git "a/\351\231\266\345\256\227\350\261\252/\347\254\224\350\256\260/20240612-Linux\350\256\276\347\275\256https.md" "b/\351\231\266\345\256\227\350\261\252/\347\254\224\350\256\260/20240612-Linux\350\256\276\347\275\256https.md" new file mode 100644 index 0000000..56ff386 --- /dev/null +++ "b/\351\231\266\345\256\227\350\261\252/\347\254\224\350\256\260/20240612-Linux\350\256\276\347\275\256https.md" @@ -0,0 +1,93 @@ + +# 给自己的网站设置“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 91c13.top www.91c13.top; + + ssl_certificate /etc/nginx/ssl/91c13.top.crt; //证书目录 + ssl_certificate_key /etc/nginx/ssl/91c13.top.key; //密钥目录 + + # 如果有中间证书,添加以下行若没有即可删除 + ssl_trusted_certificate /etc/nginx/ssl/ca-bundle.crt; + + root /var/www/91c13.top; # 修改为你的网站根目录 + 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://91c13.top/ +``` -- Gitee From 3a1b3ed4edc3b672ac50fb0c4c71e9f3a10762c2 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 13 Jun 2024 22:18:28 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E7=AC=94=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...12\351\207\215\345\256\232\345\220\221.md" | 99 +++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 "\351\231\266\345\256\227\350\261\252/\347\254\224\350\256\260/20240613-\347\256\241\351\201\223\347\254\246\345\217\212\351\207\215\345\256\232\345\220\221.md" diff --git "a/\351\231\266\345\256\227\350\261\252/\347\254\224\350\256\260/20240613-\347\256\241\351\201\223\347\254\246\345\217\212\351\207\215\345\256\232\345\220\221.md" "b/\351\231\266\345\256\227\350\261\252/\347\254\224\350\256\260/20240613-\347\256\241\351\201\223\347\254\246\345\217\212\351\207\215\345\256\232\345\220\221.md" new file mode 100644 index 0000000..35e5fee --- /dev/null +++ "b/\351\231\266\345\256\227\350\261\252/\347\254\224\350\256\260/20240613-\347\256\241\351\201\223\347\254\246\345\217\212\351\207\215\345\256\232\345\220\221.md" @@ -0,0 +1,99 @@ +# 管道符及重定向 + +## 重定向:重定向符号用于控制命令的输入和输出 + +### 输出重定向 + +|符号|解释| +|-|-| +|>:|将命令的标准输出重定向到指定文件中,如果文件不存在则创建,如果文件已存在则覆盖原有内容。| +|>>:|将命令的标准输出追加到指定文件的末尾,如果文件不存在则创建。| +|<:|从指定文件中读取内容,作为命令的标准输入。| +|<<:|将命令的标准输入设置为指定的文本块。| +|2>:|将命令的标准错误输出重定向到指定文件中,如果文件不存在则创建,如果文件已存在则覆盖原有内容。| +|2>>:|将命令的标准错误输出追加到指定文件的末尾,如果文件不存在则创建。| +|>& 或 &>|将标准输出和标准错误输出都重定向到同一个文件。| +|“管道符”|将一个命令的输出作为另一个命令的输入,称为管道。| + +### 重定向的应用 + +- 保存输出:将命令的输出结果保存到文件中,便于后续查看或分析。 +- 追加内容:将新的输出内容追加到现有文件的末尾,而不是覆盖原有内容。 +- 错误捕获:将命令执行过程中产生的错误信息重定向到单独的文件中,便于调试和记录。 +- 合并输出:将标准输出和标准错误输出合并到同一个文件中,便于统一处理。 +- 管道处理:通过管道将一个命令的输出作为另一个命令的输入,构建复杂的命令流程。 + +## 输出重定向 + +### 标准输出重定向 (>): 将命令的标准输出重定向到一个文件。如果文件存在,它将被覆盖 + +```js +echo "Hello, World!" > output.txt +//这个命令会将 "Hello, World!" 写入 output.txt 文件。如果 output.txt 已存在,原内容将被覆盖 +``` + +### 追加输出重定向 (>>):将命令的标准输出追加到一个文件的末尾。如果文件不存在,它将被创建 + +```js +echo "Hello, again!" >> output.txt +//这个命令会将 "Hello, again!" 追加到 output.txt 文件的末尾。 +``` + +### 输入重定向(<):将一个文件的内容作为命令的标准输入 + +```js +wc -l < input.txt +//这个命令会计算 input.txt 文件中的行数。 +``` + +## 错误重定向 + +### 标准错误重定向 (2>): 将命令的标准错误输出重定向到一个文件。如果文件存在,它将被覆盖 + +```js +ls non_existent_file 2> error.log +//这个命令会将 ls 命令的错误信息写入 error.log 文件。 +``` + +### 追加错误重定向 (2>>): 将命令的标准错误输出追加到一个文件的末尾。如果文件不存在,它将被创建 + +```js + +ls another_non_existent_file 2>> error.log +// 这个命令会将 ls 命令的错误信息追加到 error.log 文件的末尾。 +``` + +## 综合重定向 + +### 标准输出和标准错误都重定向 (>&):将命令的标准输出和标准错误都重定向到一个文件 + +```js +command > output_and_error.log 2>&1 +``` + +### 标准输出和标准错误分别重定向 + +```js +command > output.log 2> error.log +//这个命令会将 command 的标准输出写入 output.log 文件,而将标准错误写入 error.log 文件。 +``` + +## ere Document 重定向 + +### Here Document (<<): 用于将多行字符串作为输入传递给命令 + +```js +cat <