0158 Nginx-搭建https服务器

本文介绍如何创建私有的证书颁发机构(CA),生成SSL证书,并配置Nginx以实现HTTPS加密连接。包括设置CA、生成CSR、配置Nginx等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

1、创建私有CA证书颁发机构

2、生成证书

3、配置nginx


创建私有CA证书颁发机构:

cd  /etc/pki/CA

(umask 077; openssl genrsa -out /etc/pki/CA/private/test.pem 4096)

openssl req  -new -x509 -key /etc/pki/CA/private/test.pem -out/etc/pki/CA/test.pem -days 3655

mkdir  -pv  /etc/pki/CA/{certs,crl,newcerts}

touch  /etc/pki/CA/{serial,index.txt}

echo  01 > /etc/pki/CA/serial


生成证书:

1、创建一个目录存放生成的私钥及根证书文件

      mkdir /data/ssl

      cd /data/ssl

2、创建一个私钥,并输入密码(必须输入且记住,且后续各个步骤可能都需要用到)

      openssl genrsa -des3 -out test.key 1024

3、创建签名请求的证书(csr),需要输入的字段如下图红框:

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

     ----------------------------------------------------------------------------------------------------------------------------------

Country Name (2 letter code): 使用国际标准组织(ISO)国码格式,填写2个字母的国家代号。中国请填写CN。
State or Province Name (full name): 省份,比如填写Shanghai
Locality Name (eg, city): 城市,比如填写Shanghai
Organization Name (eg, company): 组织单位,比如填写公司名称的拼音
Organizational Unit Name (eg, section): 比如填写IT Dept
Common Name (eg, your websites domain name): 行使 SSL 加密的网站地址。请注意这里并不是单指您的域名,而是直接使用 SSL 的网站名称 例如:pay.abc.com。 一个网站这里定义是: abc.com 是一个网站; www.abc.com 是另外一个网站; pay.abc.com 又是另外一个网站。 
Email Address: 邮件地址,可以不填
A challenge password: 可以不填
An optional company name: 可以不填

     ----------------------------------------------------------------------------------------------------------------------------------

4、生成CA证书和私钥

     openssl req -new -x509 -keyout ca.key -out ca.crt

5、csr用ca签名生成证书

     openssl ca -in test.csr -out test.crt -cert ca.crt -keyfile ca.key


配置nginx

upstream sslfpm {
    server 47.93.62.145:80 weight=10 max_fails=3 fail_timeout=20s;
}

server {
    listen       443;
    server_name  XX.XX.XX.XX
    #为一个server开启ssl支持
    ssl                  on;
    #为虚拟主机指定pem格式的证书文件
    ssl_certificate      /data/ssl/test.crt;
    #为虚拟主机指定私钥文件
    ssl_certificate_key  /data/ssl/test.key;
    #客户端能够重复使用存储在缓存中的会话参数时间
    ssl_session_timeout  5m;
    #指定使用的ssl协议
    ssl_protocols  SSLv3 TLSv1;
    #指定许可的密码描述
    ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
    #SSLv3和TLSv1协议的服务器密码需求优先级高于客户端密码
    ssl_prefer_server_ciphers  on;

    location / {
        #root   html;
        #index  testssl.html index.html index.htm;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://XX.XX.XX.XXX/;
    }

    access_log  /data/logs/ssl.log;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值