动态 版块 发帖 消息 我的
小绿叶技术博客
小绿叶技术博客
小绿叶技术Lv154   
linux centos debain nginx自动 配置 https ssl 证书 软件 snapd     

nginx 自动ssl证书配置

 #    1. 安装ssl 证书软件

yum install -y snapd

apt install snapd

# 1.安装snapd 


yum reinstall -y snapd

# 重新安装 snapd,确保您的 snapd 版本是最新的


systemctl enable --now snapd.socket

# 安装后,需要启用管理主 snap 通信套接字的systemd单元


snap install core;

# 安装核心如果报错请检查第一步


snap refresh core   

# 刷新核心 


snap install --classic certbot

# 安装证书机器人

# sudo apt-get remove certbot、sudo dnf remove certbot或sudo yum remove certbot。

# 如果您使用apt、dnf或yum等操作系统包管理器安装了任何 Certbot 包 ,则应在安装 Certbot snap 之前将其删除,以确保在运行命令 certbot 时使用的是 snap,而不是从您的操作系统包安装经理。


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

# 软连接(快捷方式)已经安装的软件 snap 到 要求的路径snap :经典限制要求在/snap或symlink下使用快照


snap install --classic certbot

# 安装证书机器人


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

# 将证书机器人安装目录创建快捷方式到 运行目录  /usr/bin/certbot  (软连接)

# 删除快捷方式,删除软连接  rm -rf /usr/bin/certbot


 #    2. ubuntu 证书


#!/bin/bash
# 自动申请ssl 证书

InstallSnapd()
{
    sudo apt install snapd -y
    sudo systemctl enable --now snapd.socket
    sudo snap install core 
    sudo snap refresh core 
    sudo snap install --classic certbot
    sudo ln -s /var/lib/snapd/snap /snap
    sudo snap install --classic certbot
    sudo ln -s /snap/bin/certbot /usr/bin/certbot
}

RequestSSL()
{
    sudo certbot certonly --nginx
    # 只获取证书
}

main()
{
    InstallSnapd
    RequestSSL
}
main





 #    查看 nginx 配置信息



###############################  简单配置案例 ##########################################


                server{
                    listen 80;
                    listen 443 ssl;
                    server_name www.eisc.cn eisc.cn www.ddoss.cn ddoss.cn;

                    #-------- 证书配置 ---------#
                    ssl_certificate     /etc/letsencrypt/live/eisc.cn/fullchain.pem;
                    ssl_certificate_key /etc/letsencrypt/live/eisc.cn/privkey.pem;
                    ssl_session_timeout 5m;
                    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
                    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
                    ssl_prefer_server_ciphers on;
                    #------- ssl 301 转跳 -----#
                    # if ($server_port = 80){
                    #     rewrite ^(/.*)$ https://$host$1 permanent;
                    # }
                    #--------------------------#

                    location ~ \.php {

                        # fastcgi_pass   unix:/var/run/php-fpm811.sock; 
                        fastcgi_pass   127.0.0.1:9000;
                        fastcgi_index  index.php;
                        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                        include        fastcgi_params;
                    }

                    #--- nginx 代理 ---#
                    # location / {
                    #     proxy_pass http://10.1.1.11:62010;
                    #     #---- 记录 IP 地址 ----#
                    #     proxy_redirect off;
                    #     proxy_set_header Host $http_host;
                    #     proxy_set_header X-Real-IP $remote_addr;	    
                    #     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                    # }
                }



#---- 完整配置案例 ---#


server
{
    listen 443 ssl;
    listen 80;
    server_name eisc.cn www.eisc.cn;
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/www;
    include enable-php-72.conf;
    include /www/server/panel/vhost/rewrite/www.eisc.cn.conf;
#-------- 证书配置 ---------#
ssl_certificate /www/wwwroot/www/ssl443/eisc.pem;
ssl_certificate_key /www/wwwroot/www/ssl443/eisc.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
#------- ssl 301 转跳 -----#
    if ($server_port = 80){
          rewrite ^(/.*)$ https://$host$1 permanent;
       }
#---------------------------#
location /ccb/ {
    return 301 http://work.eisc.cn;
    proxy_pass https://www.eisc.cn;
    index  index.html index.php;
}
    location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
    {
        return 404;
    }
    location ~ \.well-known{
        allow all;
    }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
        error_log off;
        access_log /dev/null;
    }
    location ~ .*\.(js|css)?$
    {
        expires      12h;
        error_log off;
        access_log /dev/null;
    }
    access_log  /www/wwwlogs/www.eisc.cn.log;
    error_log  /www/wwwlogs/www.eisc.cn.error.log;
}




 #    2. 申请ssl 证书


# certbot --nginx

# 自动配置nginx ssl 证书,会修改nginx 配置文件,输入电子邮箱,后回车确认

# 运行此命令以获取证书并让 Certbot 自动编辑您的 Nginx 配置以提供服务,只需一步即可打开 HTTPS 访问


certbot certonly --nginx

# 我们选择只获得nginx 证书,手动配置,将来源的ssl 证书删除,然后将自动下载的ssl 创建软链接(快捷方式)到原来的ssl 文件


# 1: Keep the existing certificate for now

# 暂时保留现有证书

# 2: Renew & replace the certificate (may be subject to CA rate limits)

# 更新和更换证书(可能受CA费率限制)  2


# agree in order to register with the ACME server. Do you agree?

# 同意在ACME服务器上注册。你同意吗?  y


# Would you be willing, once your first certificate is successfully issued, toshare your email address with the Electronic Frontier Foundation,

# 一旦您的第一份证书成功颁发,您是否愿意分享你的电子邮件地址与电子前沿基金会,成立Let's Encrypt项目的合作伙伴和机器人  no


# Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (Enter 'c' to cancel):

# 选择以逗号和/或空格分隔的适当数字,或保留输入 空白选择显示的所有选项(输入“c”取消):


# Successfully received certificate.

# Certificate is saved at: /etc/letsencrypt/live/www.eisc.cn/fullchain.pem

# Key is saved at:         /etc/letsencrypt/live/www.eisc.cn/privkey.pem


# 证书的位置如上图,自动修改nginx 子站点的 ssl 路径,每三个月自动更新ssl 


# 由于是链接的国外  R3 证书颁发机构,可能存在失败的情况,需要重试

 


rm -rf /eisc/www/ssl/eisc/eisc.pem

rm -rf /eisc/www/ssl/eisc/eisc.key

# 删除原有ssl 证书文件


ln -s /etc/letsencrypt/live/www.eisc.cn/fullchain.pem /eisc/www/ssl/eisc/eisc.pem

ln -s /etc/letsencrypt/live/www.eisc.cn/privkey.pem /eisc/www/ssl/eisc/eisc.key


nginx -s reload

# 重载nginx 配置文件








教程来源:https://www.cnblogs.com/hushuning/p/14842251.html









 4  已被阅读了1900次  楼主 2022-03-06 21:39:56
回复列表

回复: linux centos debain nginx自动 配置 https ssl 证书 软件 snapd

guest
登录之后更精彩~
Powered by HadSky 7.12.10
© 2015-2024 PuYueTian
您的IP:44.221.66.130,2024-06-20 14:56:14,Processed in 0.01966 second(s).
Powered by HadSky
小绿叶技术博客