nginx编译以及通过自定义生成证书配置https

1. 环境准备

1.1 软件安装

nginx安装编译安装以及配置https,需要gcc-c++ pcre-devel openssl openssl-devel软件。因此需要先安装相关软件。

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

openssl/openssl-devel:主要用于nginx编译的http_ssl_module模块安装以及证书的生成。

1.2 安装包下载

wget http://nginx.org/download/nginx-1.25.1.tar.gz

2. nginx软件编译

依次执行如下命令:

  • 解压压缩包

    tar -zxvf nginx-1.25.1.tar.gz
    
  • 执行属性配置

    ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
    

    http_ssl_module:支持配置https模块
    –prefix=/usr/local/nginx:表示nginx最终辉安装到/usr/local/nginx目录下

    nginx编译以及通过自定义生成证书配置https_第1张图片

  • 编译并且安装

    make && make install
    

3. 测试nginx编译是否成功

/usr/local/nginx/sbin/nginx

/usr/local/nginx:这个路径是在步骤执行属性配置部分配置的路径。

http://192.168.10.100/

nginx编译以及通过自定义生成证书配置https_第2张图片

4 生成证书

4.1 生成私钥

在这个过程中会输入一个密码,我们暂时记住这个密码,后面会取消。我们可以进入nginx安装路面/usr/local/nginx,创建ssl的文件夹,在这里执行如下命令:

openssl genrsa -des3 -out server.key 2048

在这里插入图片描述

4.2 生成CSR

CSR,(Certificate Signing Request 证书签名请求 )

openssl req -new -key server.key -out server.csr

在此期间,Comm Name可以填写一下域名,其他可以忽略不填。
nginx编译以及通过自定义生成证书配置https_第3张图片

4.3 取消私钥当中的密码

openssl rsa -in server.key -out server.key

在这里插入图片描述

4.4 生成自签名SSL证书

openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt

4.5 查看证书生成情况

[root@localhost ssl]# pwd
/usr/local/nginx/ssl
[root@localhost ssl]# ll
总用量 12
-rw-r--r--. 1 root root 1159 88 01:56 server.crt
-rw-r--r--. 1 root root  985 88 01:54 server.csr
-rw-r--r--. 1 root root 1679 88 01:55 server.key

5 nginx配置https

在nginx.conf配置如下代码:

server {
    listen       443 ssl;
    server_name  greateme.com;

    ssl_certificate /usr/local/nginx/ssl/server.crt;
    ssl_certificate_key /usr/local/nginx/ssl/server.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;

    location / {
        root   html;
        index  index.html index.htm;
    }
}

重新加载配置文件

/usr/local/nginx/sbin/nginx -s reload

6 验证配置是否成功

nginx编译以及通过自定义生成证书配置https_第4张图片
nginx编译以及通过自定义生成证书配置https_第5张图片

你可能感兴趣的:(技巧,linux,nginx,https,运维,ssl证书)