九溪

溪水润知林,滴露启慧心

用户工具

站点工具


pages:home

ColinOL Home

教育教学

2024/12/09 17:12 · colin

项目管理

项目管理工具与技术

2024/07/15 10:10 · colin

Python 爬虫入门

安装 Python

从官网下载安装包进行安装,https://www.python.org/downloads/

安装后设置环境变量,如

%Python311%=C:\capps\Python\Python311

在Path中添加环境变量

%Python311%
%Python311%\Scripts

确认安装的Python版本是否正常,在运行命令中输入

python --version
# 输出以下内容则证明已正常安装
Python 3.11.4

可通过以下命令查看运行的python程序位置

where python

如果发现运行的Python版本不对,可通过调整环境变量Path中的Python路径顺序,在前的优先识别

安装常用库

常用引用库

import requests
from bs4 import BeautifulSoup

如果发现未安装库,可以通过以下命令分别安装

# install requests
# https://stackoverflow.com/questions/17309288/importerror-no-module-named-requests
pip3 install requests
 
# install beautifulsoup lxml
# https://www.jianshu.com/p/782326aae373
pip install beautifulsoup4
pip install lxml

登录 Request

BeautifulSoup 教程

2023/06/13 22:37 · colin

AI

语言模型

  1. GPT大模型
    1. ChatGPT (GPT3.5) https://chat.openai.com
  2. AI 工具导航
    1. 优设AI工具导航 https://hao.uisdc.com/ai/
  3. Midjourney AI绘画工具 https://www.midjourney.com/
  4. AI 聊天(可调戏) https://www.kupid.ai/
  5. AI 编程 Cursor https://www.cursor.com/
2023/03/19 10:22 · colin

NGINX 配置免费的 Let’s Encrypt SSL/TLS 证书

Let’s Encrypt 的工作原理

在颁发证书之前,Let’s Encrypt 会验证域名的所有权。在您的主机上运行的 Let’s Encrypt 客户端将创建一个临时文件(一个令牌),其中包含所需的信息。然后,Let’s Encrypt 验证服务器会发出 HTTP 请求以检索文件并验证令牌,从而验证您域名的 DNS 记录是否解析到运行 Let’s Encrypt 客户端的服务器。

准备工作

在开始使用 Let’s Encrypt 之前,您需要:

  1. 安装 NGINX 。
  2. 拥有或管理需安装证书的注册域名。如果没有注册域名,您可以在域名注册商处申请。
  3. 创建一条 DNS 记录,将您的域名和服务器的公共 IP 地址关联。

用NGINX 轻松设置 Let’s Encrypt

1. 下载 Let’s Encrypt 客户端

首先,下载 Let’s Encrypt 客户端 certbot。

如上所述,我们在 Ubuntu 16.04 上测试了相关指令,以下是在该平台上运行的相应命令:

apt-get update
sudo apt-get install certbot
apt-get install python-certbot-nginx

用 Ubuntu 18.04和更高版本, 替代 Python 3版本:

apt-get update
sudo apt-get install certbot
apt-get install python3-certbot-nginx

 

2 设置 NGINX

certbot 可以自动完成 NGINX 的 SSL/TLS 配置。它会在您的 NGINX 配置中查找并修改包含 server_name 指令(含有您为其请求证书的域名)的 server 块。在我们的示例中,域名为 www.example.com.

假设您在一个全新的 NGINX 安装上进行设置,请使用文本编辑器在 /etc/nginx/site-enabled 目录中创建一个名为 domain‑name.conf 的文件(在我们的示例中为 www.example.com.conf)。

使用 server_name 指令指定您的域名(如果域名有变体的话也请指定):

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /var/www/html;
    server_name example.com www.example.com;
}

保存文件,然后运行以下命令来验证配置的语法并重新启动 NGINX:

nginx -t && nginx -s reload

3 获取 SSL/TLS 证书

certbot 的 NGINX 插件负责重新配置 NGINX,并在必要时重新加载其配置。

运行以下命令,使用 NGINX 插件生成证书:

sudo certbot --nginx -d example.com -d www.example.com

根据 certbot 的提示配置 HTTPS 设置,包括输入您的电子邮件地址并同意 Let’s Encrypt 服务条款。

证书生成后,NGINX 重新加载新设置。certbot 生成一条消息,显示证书成功生成,并指示证书在服务器上的位置。

Congratulations! You have successfully enabled https://example.com and https://www.example.com 
-------------------------------------------------------------------------------------
IMPORTANT NOTES: 
Congratulations! Your certificate and chain have been saved at: 
/etc/letsencrypt/live/example.com/fullchain.pem 
Your key file has been saved at: 
/etc/letsencrypt/live/example.com//privkey.pem
Your cert will expire on 2017-12-12.

注:Let’s Encrypt 证书在 90 天后到期(在本例中,到期时间为 2017 年 12 月 12 日)。有关自动更新证书的信息,请参阅下方“自动更新 Let’s Encrypt 证书”一节。

如果查看 domain‑name.conf,您会发现 certbot 已对其进行了修改:

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /var/www/html;
    server_name  example.com www.example.com;
 
    listen 443 ssl; # managed by Certbot
 
    # RSA certificate
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
 
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
 
    # Redirect non-https traffic to https
    if ($scheme != "https") {
        return 301 https://$host$request_uri;
    } # managed by Certbot
}

 

4 自动更新 Let’s Encrypt 证书

Let’s Encrypt 证书将在 90 天后到期。我们建议您自动更新证书。此处,我们将一个 cron 作业添加到现有 crontab 文件中,以执行这一操作。

打开 crontab 文件。

crontab -e

添加 certbot 命令,并设置为每天运行。在本例中,我们每天中午运行该命令。该命令检查服务器上的证书是否会在未来 30 天内到期,如果是,则更新证书。–quiet 指令告知 certbot 不要生成输出。

0 12 * * * /usr/bin/certbot renew --quiet

保存并关闭文件。所有已安装的证书将自动更新和重新加载。

 

总结

以上,我们安装了 Let’s Encrypt 代理来为注册域名生成 SSL/TLS 证书,然后配置 NGINX 使用证书,并设置了自动更新证书。借助面向 NGINX 和 NGINX Plus 的 Let’s Encrypt 证书,您可以在几分钟内轻松搭建一个安全的网站。

如欲亲自试用 NGINX Plus 和 Let’s Encrypt,请立即下载 30 天免费试用版,或与我们联系以讨论您的用例。

全文参考:更新:为 NGINX 配置免费的 Let’s Encrypt SSL/TLS 证书

2022/12/23 09:02 · colin

评论

请输入您的评论. 可以使用维基语法:
 
pages/home.txt · 最后更改: 2023/01/03 15:08 由 127.0.0.1