首页 > 其他分享 >免费https证书certbot的配置和使用

免费https证书certbot的配置和使用

时间:2023-10-20 13:45:29浏览次数:41  
标签:http 证书 -- sudo nginx https certbot

CertBot配置免费HTTPS证书

1.域名

首先从云服务器商注册一个域名

在云服务器商提供的控制台,购买服务器后,申请域名并且执行域名解析

2.服务器安装和配置nginx

服务器安装nginx

  1. 访问nginx官网

  2. 下载nginx包

    wgte https://nginx.org/download/nginx-VERSION-YOU-WANT.tar.gz

  3. 在服务器上,安装解压nginx所需的c++插件包

yum install gcc-c++
 
yum install -y pcre pcre-devel
 
yum install -y zlib zlib-devel
 
yum install -y openssl openssl-devel

插件作用

1.gcc 可以编译 C,C++,Ada,Object C和Java等语言(安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境)

2.pcre pcre-devel pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库

3.zlib zlib-devel zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装

4.openssl openssl-devel OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。

5.nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库

4 .解压安装和配置

-- 解压进入目录
tar xvf nginx-1.21.6.tar.gz
cd nginx-1.21.6

-- 配置https模块
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
-- 编译
make
-- 安装
make install
--设置开机启动服务文件
vim /lib/systemd/system/nginx.service

[Unit]
Description=nginx service
After=network.target
 
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target

-- 加入开机启动
systemctl enable nginx.service

5.配置域名nginx反向代理

nginx默认配置nginx.conf

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
#多虚拟主机引入配置的文件夹
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

#各种代理配置
http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 4096;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;
    #多虚拟主机引入的配置文件夹
    include /etc/nginx/conf.d/*.conf;
#默认的虚拟主机
    server {
        listen       80;
        listen       [::]:80;
        server_name  _;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

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

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


}


conf.d文件夹中虚拟服务器配置 xxxx.conf

一般是域名+.conf 例如xxx.blog.com.conf

server{
	server_name 域名.com;
	location /{
		proxy_pass http://localhost:8080/;
	}
	}
 

#### 这一部分注释的是原始不用配置的,certbot获取证书时会自动配置

   # listen 443 ssl; # managed by Certbot
   # ssl_certificate /etc/***; # managed by Certbot
   # ssl_certificate_key /***; # managed by Certbot
   # include /etc/***; # managed by Certbot
   # ssl_dhparam /etc/***; # managed by Certbot

}
#server{
#    if ($host = 域名.com) {
#        return 301 https://$host$request_uri;
#    } # managed by Certbot


#	server_name 域名.com;
#    listen 80;
#    return 404; # managed by Certbot


#}

3.获取HTTPS证书

免费的https证书颁发网站:https://certbot.eff.org/

1.主页:

2.选择你的https在哪里使用

这里选择nginxcentos7 也可以其他选择

3.根据提示,进入ssh

4.安装snapd

5.安装

安装命令

在 CentOS 7 中添加 EPEL
sudo yum install epel-release

sudo yum install snapd

sudo systemctl enable --now snapd.socket

sudo ln -s /var/lib/snapd/snap /snap

确保snapd是最新
sudo snap install core
sudo snap refresh core

6.返回certbot安装certbot

安装命令

sudo snap install --classic certbot

sudo ln -s /snap/bin/certbot /usr/bin/certbot

#执行certbot获取https证书,并自动配置你的conf.d文件夹中,虚拟主机配置下的https证书配置
sudo certbot --nginx
#执行这一步后,1.需要填写一个邮箱,用以接受证书相关的信息推送
#第二个需要填写的,原文
#Select the appropriate numbers separated by commas and/or spaces, or leave input
#blank to select all options shown (Enter 'c' to cancel): 填写一个空格就可以

# 测试自动续期
sudo certbot renew --dry-run

至此安装完成,部署项目运行并测试即可

标签:http,证书,--,sudo,nginx,https,certbot
From: https://www.cnblogs.com/04251213yuRain/p/17776859.html

相关文章

  • Springboot 配置 https 的后端服务
    由于项目需要,要实现https+wss服务,经过2天研究,终于通过Springboot配置成功https+wss服务,记录一下以此分享。1、生成ssl证书方法(注意-alias的名称要与application的名称一致),两个方法都可以。//keytool-genkey-aliasmyhttps-keyalgRSA-keysize2048-keystoreE:\test.p12......
  • 解决:Exception: URL fetch failure on https://storage.googleapis.com/tensorflow/tf
    首次装载IMDB数据集时可能会出现的错误。解决方案:1、先将数据集单独下载下来:datasets/imdb.npz·黄健/keras-datasets-Gitee.com2、将其复制到 ~/.keras/dataset目录下:cpimdb.npz ~/.keras/dataset ......
  • openGauss学习笔记-104 openGauss 数据库管理-管理数据库安全-客户端接入之SSL证书管
    openGauss学习笔记-104openGauss数据库管理-管理数据库安全-客户端接入之SSL证书管理-证书替换openGauss默认配置了通过openssl生成的安全证书、私钥。并且提供证书替换的接口,方便用户进行证书的替换。104.1操作场景openGauss默认配置了SSL连接所需要的安全的证书、私钥,用户......
  • PFA容量瓶配置腐蚀性样品使用 A级pfa容量瓶附带证书一瓶一证
    PFA容量瓶      一、产品介绍 PFA容量瓶半透明透明可视度高,本底值低耐受强酸碱,主要用于痕量分析、同位素检测,ICP-MS/OES/AAS分析等实验。选材独特,未添加回料具有低的本底,金属元素铅、铀含量小于0.01ppb,无溶出与析出,是目前洁净的实验分析器皿,试用于半导体、多晶硅、光伏......
  • nginx生成自签名证书
    创建服务器证书秘钥文件[root@Nginx~]#opensslgenrsa-des3-outserver.key1024...Enterpassphraseforserver.key: #输入密码Verifying-Enterpassphraseforserver.key: #确认密码创建服务器证书申请文件[root@Nginx~]#opensslreq-new-key......
  • SSL证书基础知识
    前言:由于个人网站域名备案快过了,过段时间需要申请SSL证书,故学习下,参考他人博客。1.0简介ssl证书是区分http和https协议的重要区分之一,利用ssl证书可以对服务器进行身份验证,确保链接目标是合法服务器,这样可以避免中间人攻击和欺骗1.1CA证书和SSL证书CA证书是由CA(证书颁发......
  • 为何不能使用自签名SSL证书?
    SSL证书是加密互联网通信的关键组成部分,它们用于保护客户端和服务器之间的传输过程中的数据未经授权的访问。通常,SSL证书由受信任的证书颁发机构签发,这些CA已经在主要的操作系统和浏览器中建立了信任关系。然而,有些人可能会尝试使用自签名SSL证书来节省成本或者由于特殊需求。自签......
  • openGauss学习笔记-103 openGauss 数据库管理-管理数据库安全-客户端接入之SSL证书管
    openGauss学习笔记-103openGauss数据库管理-管理数据库安全-客户端接入之SSL证书管理-证书生成openGauss默认配置了通过openssl生成的安全证书、私钥。并且提供证书替换的接口,方便用户进行证书的替换。103.1操作场景在测试环境下,用户可以用通过以下方式进行数字证书测试。在......
  • 企业级 SigningPDF 数字签名 - 如何安装 GlobalSign AATL 文档签名证书
    派胜SigningPDF全球签是一款企业级PDF数字签名软件,可信数字签名、电子印章和时间戳解决方案。SigningPDF支持Adobe全球认可的证书颁发机构,高自动化为PDF文档添加可信合法的数字签名。访问SigningPDF官网下载最新版。https://www.paioffice.com/signingpdf/downloads(1)申......
  • Nginx 服务器 SSL 证书安装部署
    工具:WinSCP、putty下载证书cloud.tencent.com_bundle.crt证书文件cloud.tencent.com_bundle.pem证书文件cloud.tencent.com.key私钥文件cloud.tencent.com.csrCSR文件上传证书到服务器通过WinSCP将已获取到的cloud.tencent.com_bundle.crt或cloud.tencent.com_......