004-ubuntu服务器给wordpress站点开启https详细配置

2024-10-14 14:15 004-ubuntu服务器给wordpress站点开启https详细配置已关闭评论

安装certbot包

ubuntu环境中安装certbot包,用于生成https证书

sudo apt-get install certbot

生成https证书

使用certbot命令,给指定的域名地址生成https证书

sudo certbot certonly --webroot --agree-tos --no-eff-email --email xxx@gmail.com -w /var/www/letsencrypt -d teachcourse.cn -d www.teachcourse.cn

使用了certbot工具来自动获取并配置Let's Encrypt的SSL/TLS证书,用于加密网站通信。下面是对这条命令各个部分的详细解释:

  1. sudo: 以超级用户权限运行命令,因为配置和操作证书通常需要系统级的权限。

  2. certbot certonly: 运行certbot工具仅生成证书,而不是自动配置web服务器(如Nginx或Apache)。这意味着你需要手动将生成的证书应用到你的web服务器配置中。

  3. --webroot: 指定使用Webroot插件验证域名所有权。此插件会在你的web服务器的文档根目录下创建一个临时文件,Let's Encrypt的验证服务器会检查这个文件以确认你对域名的控制权。

  4. --agree-tos: 同意Let's Encrypt的服务条款。在请求证书之前,你必须接受Let's Encrypt的《服务条款》(Terms of Service)。

  5. --no-eff-email: 禁止向电子前哨基金会(Electronic Frontier Foundation, EFF)发送电子邮件。EFF是Let's Encrypt的一个支持者,但默认情况下,certbot会询问是否允许EFF发送邮件。使用这个选项可以避免接收来自EFF的邮件。

  6. --email xxx@gmail.com: 提供一个电子邮件地址,用于接收关于证书即将过期或出现问题的通知。

  7. -w /var/www/letsencrypt: 指定webroot路径,即你的web服务器用来提供内容的目录。在这个例子中,/var/www/letsencrypt将被用来放置验证文件。

  8. -d teachcourse.cn -d www.teachcourse.cn: 请求为teachcourse.cnwww.teachcourse.cn这两个域名生成证书。这通常是为了确保无论用户通过哪个域名访问,都能获得加密连接。

总结来说,这条命令是在请求为teachcourse.cn及其子域www.teachcourse.cn生成SSL/TLS证书,并且使用/var/www/letsencrypt作为验证目录。在证书生成后,你需要手动更新你的web服务器配置,以使用这些新生成的证书来加密HTTP通信,将其转换为HTTPS。

Failed authorization procedure. teachcourse.cn (http-01): urn:ietf:params:acme:error:unauthorized :: The client lacks sufficient authorization :: 47.106.131.141: Invalid response from http://teachcourse.cn/.well-known/acme-challenge/mdzS9ZKDTTYMafwOqjuDiNmZSGNRIknfCr9thKOmNvo: 404

IMPORTANT NOTES:
 - The following errors were reported by the server:

   Domain: teachcourse.cn
   Type:   unauthorized
   Detail: 47.106.131.141: Invalid response from
   http://teachcourse.cn/.well-known/acme-challenge/mdzS9ZKDTTYMafwOqjuDiNmZSGNRIknfCr9thKOmNvo:
   404

   To fix these errors, please make sure that your domain name was
   entered correctly and the DNS A/AAAA record(s) for that domain
   contain(s) the right IP address.

Failed authorization procedure. teachcourse.cn (http-01)

生成证书过程抛出异常:

Failed authorization procedure. www.teachcourse.cn (http-01): urn:ietf:params:acme:error:connection :: The server could not connect to the client to verifye domain :: 47.106.131.141: Fetching http://teachcourse.cn/.well-known/acme-challenge/dVXUVwxrm4VrjtfLfpdHgfUyIc-tx2YHz5OoLSp8blk: Timeout after connect (y server may be slow or overloaded), teachcourse.cn (http-01): urn:ietf:params:acme:error:connection :: The server could not connect to the client to verifye domain :: 47.106.131.141: Fetching http://teachcourse.cn/.well-known/acme-challenge/LU20q4PDAoU4KeRX04AbWmpHa_che0VytrxfhP5uLEY: Timeout after connect (y server may be slow or overloaded)

在使用Certbot这样的自动化工具来获取或更新SSL/TLS证书时,为了能够顺利通过ACME协议的HTTP-01挑战,需要确保.well-known/acme-challenge/目录可写并且对外部HTTP请求可访问。以下是具体的权限设置步骤:

1. 创建或确认.well-known/acme-challenge/目录的存在

如果你的Web服务器根目录下还没有这个目录,首先需要创建它。可以通过以下命令在你的网站文档根目录下创建:

sudo mkdir -p /var/www/html/.well-known/acme-challenge/

Web服务器文档根目录为/var/www/html,根据实际情况可能需要进行调整。

2. 设置目录权限

接下来,需要设置这个目录的权限,以便Web服务器用户(通常是www-data或类似名称)可以写入文件,同时确保目录对其他用户安全。执行以下命令来设置权限:

sudo chown -R www-data:www-data /var/www/html/.well-known/acme-challenge/
sudo chmod -R 755 /var/www/html/.well-known/acme-challenge/

第一行命令设置了目录的所有者和组为www-data,这是Nginx、Apache等Web服务器的默认运行用户。第二行命令设置了目录权限为755,这意味着目录对所有者可读写执行(7),对组和其他人可读可执行(55)。

3. 配置Web服务器

确保Web服务器配置允许外部访问.well-known/acme-challenge/目录。对于Nginx,可能需要在相关server块中添加或修改以下配置:

location /.well-known/acme-challenge/ {
    allow all;
    root /var/www/html/;
}

对于Apache,你可能需要在<Directory><VirtualHost>块中添加或修改以下配置:

<Directory "/var/www/html/.well-known/acme-challenge">
    Require all granted
</Directory>

4. 重启Web服务器

修改完权限和配置后,记得重启Web服务器使更改生效:

sudo systemctl restart nginx # 对于Nginx
sudo systemctl restart apache2 # 对于Apache

通过以上步骤,就能确保Certbot能够顺利地在.well-known/acme-challenge/目录下创建和删除文件,从而通过HTTP-01挑战,完成SSL/TLS证书的获取或更新过程。

当前文章价值5.62元,扫一扫支付后添加微信提供帮助!(如不能解决您的问题,可以申请退款)

你可能感兴趣的文章

来源:每日教程每日一例,深入学习实用技术教程,关注公众号TeachCourse
转载请注明出处: https://teachcourse.cn/3680.html ,谢谢支持!

资源分享

python库pyinstaller打包详细介绍 python库pyinstaller打包详细介绍
Eclipse导入另一台电脑下的Android项目style文件出现错误的原因 Eclipse导入另一台电脑下的And
Andorid开发之反编译工具apktool学习 Andorid开发之反编译工具apktoo
【C盘急救站】一键清理工具Wise Disk Cleaner详细使用教程 【C盘急救站】一键清理工具Wis

评论已关闭!