Nginx配置SSL证书-单向认证(HTTP转HTTPS)

本文详细介绍了如何使用keytool生成各种类型的证书,包括keystore、jks、cer、p12、crt、pfx和pem,并提供了将证书应用于Nginx服务器的具体配置方法,帮助读者实现HTTPS加密通信。

生成证书

:: 生成keystore
:: keytool -genkeypair -alias myserver -keystore myserver.keystore -storetype pkcs12 -keypass 123456 -storepass 123456 -keyalg RSA -keysize 2048 -validity 3650 -dname "CN=192.168.1.100, OU=xx, O=dy, L=nb,ST=Beijing,C=china"

:: 生成jks
keytool -genkeypair -alias myserver -keystore myserver.jks -storetype pkcs12 -keypass 123456 -storepass 123456 -keyalg RSA -keysize 2048 -validity 3650 -dname "CN=192.168.1.100, OU=xx, O=dy, L=nb,ST=Beijing,C=china"

:: 转换jks->cer
keytool -export -alias myserver -keystore myserver.jks -storepass 123456 -file myserver.cer

:: 转换jks->p12
keytool -importkeystore -srckeystore myserver.jks -destkeystore myserver.p12 -srcstoretype jks -deststoretype PKCS12 -srcstorepass 123456 -deststorepass 123456

:: 转换jks->crt
openssl pkcs12 -in myserver.jks -nodes -clcerts -out myserver.crt -password pass:123456

:: 转换p12->crt
openssl pkcs12 -in myserver.p12 -nokeys -clcerts -out myserver-p12.crt -password pass:123456

:: 转换jks->pfx
keytool -importkeystore -srckeystore myserver.jks -destkeystore myserver.pfx -srcstoretype PKCS12 -deststoretype PKCS12 -srcstorepass 123456 -deststorepass 123456

:: 转换pfx->pem/key
openssl pkcs12 -in myserver.pfx -nodes -out myserver.pem -password pass:123456
openssl rsa -in myserver.pem -out myserver.key

:: 添加到jdk信任证书
:: keytool -list -v -keystore myserver.jks -storepass 123456

pause

 

nginx配置证书

http{

……

    server {# 可以不要
        listen 80;
        server_name localhost;# 自己的域名
        rewrite ^(.*)$ https://$host$request_uri;
    }


    server {
        #listen 443 ssl;
        listen 443;
        server_name localhost;# 自己的域名
        ssl on;
        ssl_certificate /etc/nginx/keys/myserver.crt;#配置证书位置
        ssl_certificate_key /etc/nginx/keys/myserver.key;#配置秘钥位置

        # 配置服务器可使用的加密算法
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;

        # 指定服务器密码算法在优先于客户端密码算法时,使用 SSLv3 和 TLS 协议
        ssl_prefer_server_ciphers on;

        # ssl 版本 可用 SSLv2,SSLv3,TLSv1,TLSv1.1,TLSv1.2 
        # ie6 只支持 SSLv2,SSLv3 但是存在安全问题, 故不支持
        #ssl_protocols SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

        location / {
            root /home/www.example.com/;
            try_files $uri /index.html;
            index index.html index.htm;
        }
    }

……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值