Nginx 域名SSL证书配置(网站 http 升级为 https) acme.sh 申请免费SSL永久证书(自动续期)

这篇具有很好参考价值的文章主要介绍了Nginx 域名SSL证书配置(网站 http 升级为 https) acme.sh 申请免费SSL永久证书(自动续期)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

写在前面的话

小编这里用的是godaddy购买的域名

服务器是aws

acme.sh GitHub地址  https://github.com/acmesh-official/acme.sh

配合nginx进行部署,后面会贴上nginx.conf

我这里是多个域名用同一个证书

免费ssl证书永久生成,nginx,linux,ssl,ssl,网络协议,nginx,https,linux

效果图

免费ssl证书永久生成,nginx,linux,ssl,ssl,网络协议,nginx,https,linux

免费ssl证书永久生成,nginx,linux,ssl,ssl,网络协议,nginx,https,linux

 免费ssl证书永久生成,nginx,linux,ssl,ssl,网络协议,nginx,https,linux

来吧,展示

 首先你得在自己服务器上面进行部署nginx,如果不知道怎么操作的,可以参考我这一篇博客,执行到这一步的时候,执行 ./configure --with-http_ssl_module 这个命令 ,部署完成后

免费ssl证书永久生成,nginx,linux,ssl,ssl,网络协议,nginx,https,linux

 地址在这里,点我呀

好,通过上面步骤,安装了nginx,可以通过ip,进行访问自己的项目了,那这个时候进行解析域名ip,小编这里用的是godaddy,

免费ssl证书永久生成,nginx,linux,ssl,ssl,网络协议,nginx,https,linux

然后ping一下自己的域名,看看是不是自己的服务器ip

免费ssl证书永久生成,nginx,linux,ssl,ssl,网络协议,nginx,https,linux

好,前面的准备工作到这里就over了,接下来开始讲证书申请了

一、下载acme.sh

我这里是新服务器,所以里面什么东西都没有,如果有安装部分内容,请略过

进入home目录,安装git,下载acme.sh

cd /home

安装git

yum install -y git

下载acme.sh

git clone https://github.com/acmesh-official/acme.sh.git

免费ssl证书永久生成,nginx,linux,ssl,ssl,网络协议,nginx,https,linux

 进入acme.sh目录

cd acme.sh/

安装cronie 定时任务内容

yum install cronie

更新环境变量

source ~/.bashrc

二、安装acme

安装acme (输入自己的邮箱)

./acme.sh --install -m 51xxxxxx9@qq.com

免费ssl证书永久生成,nginx,linux,ssl,ssl,网络协议,nginx,https,linux

 查看定时任务面板,是否有一条ssl定时任务

crontab -e

如果有这个,即安装成功

免费ssl证书永久生成,nginx,linux,ssl,ssl,网络协议,nginx,https,linux

三、获取秘钥

接下来去godaddy上面进行获取秘钥(创建秘钥)

免费ssl证书永久生成,nginx,linux,ssl,ssl,网络协议,nginx,https,linux

 然后得到key 和 Secret,一定要保存好,保存下来

export GD_Key="你的key"
export GD_Secret="你的Secret"

免费ssl证书永久生成,nginx,linux,ssl,ssl,网络协议,nginx,https,linux

四、生成证书

 然后就可以生成证书了 ,我这里是多个域名,一起生成证书,把aaa.com 改成自己的域名 ,如果跟我一样,报 bash: acme.sh: command not found 错,运行 source ~/.bashrc 这个命令,重新加载环境变量

acme.sh --issue --dns dns_gd -d aaa.com -d admin.aaa.com -d api.aaa.com

免费ssl证书永久生成,nginx,linux,ssl,ssl,网络协议,nginx,https,linux

 然后变成这B样,就好了,证书已生成,路径他已经给你打印出来了

免费ssl证书永久生成,nginx,linux,ssl,ssl,网络协议,nginx,https,linux

 接下来就是安装证书,安装之前,去nginx目录创建一个ssl文件夹,我这里nginx安装在/usr/local/nginx ,所以我就在这个目录创建一个ssl文件夹

然后再进入acme目录

cd ~/.acme.sh/

五、安装证书

安装证书 把aaa.com 改成自己的域名

acme.sh --install-cert -d aaa.com \
--key-file /usr/local/nginx/ssl/aaa.com.key \
--fullchain-file /usr/local/nginx/ssl/aaa.com.pem

免费ssl证书永久生成,nginx,linux,ssl,ssl,网络协议,nginx,https,linux

可以去到 /usr/local/nginx/ssl 看看证书,是否安装成功

免费ssl证书永久生成,nginx,linux,ssl,ssl,网络协议,nginx,https,linux

 ok,证书有了,接下来去nginx.conf 去配置证书,我这里就直接把我nginx.conf贴出来,把aaa.com改成自己的即可,需要注意的地方是,你服务器(我这里的aws),安全组需要开放443端口

免费ssl证书永久生成,nginx,linux,ssl,ssl,网络协议,nginx,https,linux

六、修改nginx.conf

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #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  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;


    server {
        #当 http 协议被请求时,统一转发到https协议上
        listen 80;
        server_name aaa.com;
        return 301 https://$server_name;
    }


    server {
        listen 443 ssl;
        ssl_certificate "/usr/local/nginx/ssl/aaa.com.pem";
        ssl_certificate_key "/usr/local/nginx/ssl/aaa.com.key";
        server_name aaa.com;

        location / {
                root 自己项目的html路径;
                index index.html;
        }

        location /.well-known/acme-challenge/ {
                root /usr/local/nginx/ssl/;#自己证书路径,我这里证书是这个目录
                log_not_found off;
        }
    }



    # api
    server {
        #listen 80;
        listen 443 ssl;
        ssl_certificate "/usr/local/nginx/ssl/aaa.com.pem";
        ssl_certificate_key "/usr/local/nginx/ssl/aaa.com.key";
        server_name  api.aaa.com;
        location / {
                proxy_pass http://127.0.0.1:8080/;
        }

    }

    # 后台web
        server {
                #listen       80;
                listen 443 ssl;
                ssl_certificate "/usr/local/nginx/ssl/aaa.com.pem";
                ssl_certificate_key "/usr/local/nginx/ssl/aaa.com.key";
                server_name  admin.aaa.com;
                charset utf-8;
                location / {
                        root   后台web html路径;
                        try_files $uri $uri/ /index.html;
                        index  index.html index.htm;
                }
                error_page   500 502 503 504  /50x.html;
                location = /50x.html {
                    root   html;
                }

        }

}

,然后再重启nginx,即可

./nginx -s reload

然后你就可以访问你的域名了,http://aaa.com ,nginx会自动重定向到 https://aaa.com

一定要清除浏览器缓存或者换个浏览器,再进行访问,不然,到时候你就大眼瞪小眼吧~

看都看到这里了,码字不易,感谢点赞

 如果小伙伴们有什么疑问,欢迎下面评论。欢迎指正。如还有什么不懂的加我 QQ:517861659

如果没有及时回复,可以点我先问问AI机器人https://chatgpt.byabstudio.com/login?code=202307011314  文章来源地址https://www.toymoban.com/news/detail-820628.html

到了这里,关于Nginx 域名SSL证书配置(网站 http 升级为 https) acme.sh 申请免费SSL永久证书(自动续期)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • nginx配置SSL证书配置https访问网站 超详细(附加配置源码+图文配置教程)

    最近在阿里云上入手了一台云服务器,准备搭建一套java程序,在 Nginx 配置SSL证书时,配上之后前端可以正常以https的方式打开,但是访问不到后端,自己也是明明知道是 Niginx 配置的问题,但就不知道错哪了,当时心里的那种感觉真是无法表达呜呜呜… 经过排查发现 前端访

    2024年02月11日
    浏览(49)
  • 使用acme,自动续签免费的SSL,无忧http升级https

    这里只进行最简单的操作 进入你的用户目录,如果你使用root登陆,那么你的用户目录就是 /root/ 这里会在root下生成一个 .acme.sh 文件夹 注意:.开头的文件夹使用ll命令看不见,需要加一个参数-a 命令如下 例如: 出现如下,则算是成功 生成证书后,需要将证书安装/复制到您

    2024年02月11日
    浏览(58)
  • windows10下设置本地apache\nginx站点部署ssl证书,使本地配置的域名可以用https访问

    首先我们需要下载openssl来生成证书文件: 去官方网址下载https://slproweb.com/products/Win32OpenSSL.html; 下载好了,双击exe文件,然后就下一步,下一步安装完成; 安装之后配置环境变量,新建一个系统变量OPENSSL_HOME,值就是你安装目录下的bin,然后在系统变量path,增加%OPENSSL_HO

    2024年02月15日
    浏览(47)
  • 郑州网站域名升级https通配符证书

    新创建的网站如果没有安装SSL证书,在客户端与服务器传输信息时会使用明文传输,明文传输的数据容易被其他人截获或者插入违法信息,会对网站所有者和访问网站的客户带来危害。而部署了SSL证书将网站域名由http升级为https,会在客户端与服务器传输信息时进行加密,从

    2024年02月16日
    浏览(49)
  • 【实现HTTPS访问】Nginx + SSL证书 + 域名整合流程详解

    1、购买云服务器 我购买的是 阿里云ECS(2核2G) ,具体购买流程这里不做过多讲解。 注意 :中国大陆的阿里云服务器(套餐为3个月以上),想要使用域名访问服务器需要 备案 ,低于3个月使用期的服务器不可以备案(不可以使用域名访问),我购买的是7天有效期,服务器

    2024年01月22日
    浏览(61)
  • SpringBoot + Vue2项目打包部署到服务器后,使用Nginx配置SSL证书,配置访问HTTP协议转HTTPS协议

    配置nginx.conf文件,这个文件一般在/etc/nginx/...中,由于每个人的体质不一样,也有可能在别的路径里,自己找找... 证书存放位置,可自定义存放位置 两个文件 后端配置 把.pfx拷贝到resource下,然后配置一下yml

    2024年02月02日
    浏览(74)
  • http升级https图文,免费证书ssl下载安装

    登录数字证书管理服务控制台》点击 立即购买 (免费)》购买成功后》 创建证书 》 申请证书 》申请成功后》 下载证书 ***注意 **** 1.先登录阿里云官网 2.再访问该网址

    2024年02月12日
    浏览(169)
  • 【阿里云】申请与配置域名与配置Https(ssl)证书

    网站标识:域名可以唯一地标识一个网站或在线服务,类似于网站的身份证。通过输入域名,用户可以方便地找到并访问特定的网站 简化网址:域名代替了复杂的 IP 地址(如:192.168.0.1),使用户更容易记忆和输入网站地址。例如,www.example.com 代表了一个网站,而不需要记

    2024年02月02日
    浏览(47)
  • 将网站域名访问从http升级到https(腾讯云/阿里云)

    🏠 服务器与网站部署知识体系目录 这里我以在 腾讯云 的操作为例进行演示,对域名 note.zhulang.love 进行 https 升级访问,每一步操作均以文字、截图或与代码形式进行了说明。 我们需要准备: 一台腾讯云服务器,为了方便,建议你 把防火墙所有端口开放(至少保证 80 与

    2024年02月08日
    浏览(61)
  • 配置https---Nginx认证ssl证书

    nginx作为前端的负载均衡服务器已经很熟悉了,项目需要使用https安全的时候就需要认证证书了 dockerweb管理工具 Portainer 如果对docker不那么熟悉可以使用docker 第三方管理端 然后访问本地9000端口,登录后可以管理容器镜像 有了该工具可以直接进入容器查看日志等操作 nginx环境安装

    2024年01月19日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包