Nginx下配置Https证书详细过程

下面是Nginx下配置Https证书的详细过程:

1. 申请证书

首先需要到证书颁发机构(CA)进行申请,一般都需要提供域名的验证和身份的验证。申请成功后,会收到一个包含证书和私钥的压缩文件,其中包含以下文件:

  • domain.crt:证书文件,用于配置Nginx的ssl_certificate参数;
  • domain_nopwd.key:私钥文件,用于配置Nginx的ssl_certificate_key参数;
  • ca_bundle.crt:证书链,用于验证客户端证书的合法性。

2. 将证书文件上传至服务器

将domain.crt和domain_nopwd.key两个文件上传至Nginx服务器的指定目录,一般是/etc/nginx/ssl/。

3. 配置Nginx

在Nginx的配置文件中添加以下配置:

server {
    listen 443 ssl;
    server_name yourdomain.com;

    ssl_certificate /etc/nginx/ssl/domain.crt;
    ssl_certificate_key /etc/nginx/ssl/domain_nopwd.key;
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

    location / {
        root /var/www/html;
    }
}

其中,“listen 443 ssl;”表示监听443端口并开启ssl功能;“server_name yourdomain.com;”表示域名;“ssl_certificate”和“ssl_certificate_key”分别指向之前上传的证书文件;“add_header Strict-Transport-Security …”表示配置HSTS,建议开启。

4. 测试

修改完配置文件后,需要重启Nginx服务,然后使用浏览器访问https网站,并查看证书是否正确。可以使用https://www.sslshopper.com/ssl-checker.html等工具检查证书是否正确配置。

示例一:使用Let's Encrypt申请证书

Let's Encrypt是一个提供免费SSL证书的机构,申请流程如下:

  1. 安装Certbot:
sudo apt-get update
sudo apt-get install certbot
  1. 申请证书:
sudo certbot certonly --standalone -d yourdomain.com
  1. 将证书文件上传至服务器:
sudo cp /etc/letsencrypt/live/yourdomain.com/fullchain.pem /etc/nginx/ssl/domain.crt
sudo cp /etc/letsencrypt/live/yourdomain.com/privkey.pem /etc/nginx/ssl/domain_nopwd.key
  1. 配置Nginx,参照前面的过程中的第3步。

示例二:使用自签名证书

如果只是用于测试或内部使用,可以使用自签名证书。过程如下:

  1. 生成私钥和证书请求文件:
openssl genrsa -out /etc/nginx/ssl/domain.key 2048
openssl req -new -key /etc/nginx/ssl/domain.key -out /etc/nginx/ssl/domain.csr
  1. 使用私钥和请求文件生成证书:
openssl x509 -req -days 365 -in /etc/nginx/ssl/domain.csr -signkey /etc/nginx/ssl/domain.key -out /etc/nginx/ssl/domain.crt
  1. 配置Nginx,参照前面的过程中的第3步。

以上就是在Nginx下配置Https证书的详细过程,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Nginx下配置Https证书详细过程 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • 使用Nginx部署Vue项目全过程及踩坑记录

    以下是使用Nginx部署Vue项目的详细攻略以及可能出现的踩坑记录。 前置准备 安装Node.js和Vue CLI 在开始之前,需要安装Node.js和Vue CLI工具。可以在Node.js官网下载安装包,然后使用npm安装Vue CLI: # 安装Vue CLI npm install -g @vue/cli 安装Nginx 需要在服务器上安装Nginx…

    Nginx 2023年5月16日
    00
  • docker 安装的nginx 的默认配置

    1配置文件 /etc/nginxnginx.conf 会默认引入conf.d 下的所有以 *.conf结尾的文件 指定log 目录 /var/log/nginx/access.log 2 default.conf 配置 指定了默认访问的index.html 路径 为 /usr/share/nginx/html 3 还有一种情况下 conf.d 下面为空的 则…

    2023年4月10日
    00
  • 在docker容器中如何自动生成配置文件(以nginx配置为例)

      应用场景类似于多个域名要起多个容器,有些参数有些域名需要,有些域名不需要,或者参数的值不太一样,需要去对应的配置文件修改,不太灵活,如果通过变量的方式直接定义在Dockerfile文件中,需要哪些参数,不需要哪些参数,哪些参数需要修改对应的值,直接在Dockerfile中修改岂不美哉?下面的方法仅仅起到抛砖引玉的作用,具体业务还需要写对应的脚本和Dock…

    Nginx 2023年4月11日
    00
  • linux安装php nginx mysql

    linux装软件方式: systemctl status firewalld.service 查看防火墙systemctl stop firewalld.service systemctl disable firewalld.service 开机 防火墙 不自启 ###Nginx#######安装篇############rpm -ivh http://ng…

    Nginx 2023年4月9日
    00
  • Nginx正反向代理及负载均衡等功能实现配置代码实例

    我来为你详细讲解如何配置Nginx的正反向代理与负载均衡等功能实现。 什么是Nginx正/反向代理与负载均衡 Nginx是一款轻量级高性能的HTTP服务器和反向代理服务器。它可以通过正向代理或反向代理的方式将客户端请求转发到后端服务器,并支持负载均衡等高级功能。 正向代理:客户端请求先向代理服务器发出,代理服务器再将请求发送给真实的目标服务器,目标服务器接收…

    Nginx 2023年5月16日
    00
  • nginx实现发布静态资源的方法

    下面是nginx实现发布静态资源的方法的完整攻略。 什么是nginx Nginx是一款轻量级的Web服务器软件,它能够处理静态文件、索引文件和访问控制,同时还有反向代理、负载均衡和HTTP缓存等高级特性。因此,Nginx被广泛应用于各种架构规模的Web应用中。 发布静态资源 对于静态文件,通过Nginx发布它们的方法非常简单。首先,你需要配置Nginx,使其…

    Nginx 2023年5月16日
    00
  • Nginx TLS SNI 不同域名多443转发

    依赖 yum -y install pcre-devel openssl openssl-devel library 编译: mkdir /data/nginx/ -p ./configure –prefix=/data/nginx/ –with-http_stub_status_module –with-http_ssl_module –with-…

    Nginx 2023年4月10日
    00
  • 浅谈Nginx七层反向代理和负载均衡

    浅谈Nginx七层反向代理和负载均衡 什么是Nginx七层反向代理 当我们访问一个网站时,通常是浏览器发送请求到服务器后,由服务器返回相应的数据和页面,这个过程中,浏览器是客户端,服务器是服务端。而反向代理则是指,在这个过程中,客户端访问的并不是真正的服务端,而是一个反向代理服务器,反向代理服务器再代为向服务端发送请求,得到响应后再返回给客户端。 具体来说,…

    Nginx 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部