当前位置 主页 > 服务器问题 > win服务器问题汇总 >

    Nginx 下配置SSL证书的方法

    栏目:win服务器问题汇总 时间:2019-10-11 08:20

    1、Nginx 配置 ssl 模块
    默认 Nginx 是没有 ssl 模块的,而我的 VPS 默认装的是 Nginx 0.7.63 ,顺带把 Nginx 升级到 0.7.64 并且 配置 ssl 模块方法如下:
    下载 Nginx 0.7.64 版本,解压 进入解压目录:
    复制代码 代码如下:
    wget http://sysoev.ru/nginx/nginx-0.7.64.tar.gz
    tar zxvf nginx-0.7.64.tar.gz
    cd nginx-0.7.64

    如果要更改header信息的话,
    复制代码 代码如下:
    vi src/core/nginx.h
    #define NGINX_VERSION "0.7.62"
    #define NGINX_VER "nginx/" NGINX_VERSION

    上面的版本号和nginx自己修改
    编译
    [code]
    ./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
    make
    make
    切记不要 make install

    因为是小网站,用不着平滑升级,直接 killall -HUP nginx 重启 nginx 即可。
    OK,升级并且安装好 ssl 模块完毕,这里我把 Nginx 修改成了 zoulu,于是乎:

    怎么样,很有个性吧!

    2、使用 OpenSSL 生成证书

    ①、生成RSA密钥的方法
    openssl genrsa -out privkey.pem 2048

    有的证书要 1024 的,所以得:
    openssl genrsa -out privkey.pem 1024

    ②、生成一个证书请求
    openssl req -new -key privkey.pem -out cert.csr

    会提示输入省份、城市、域名信息等,重要的是,email 一定要是你的域名后缀的,比如 webmaster@zou.lu 并且能接受邮件!

    这样就有一个 csr 文件了,提交给 ssl 提供商的时候就是这个 csr 文件

    (来源:http://www.lsproc.com/blog/nginx_ssl_config/)

    直接 cat cert.csr

    得到一大串字符,比如这样:
    -----BEGIN CERTIFICATE REQUEST-----
    MIIBsTCCARoCAQAwcTELMAkGA1UEBhMCQ04xCzAJBgNVBAgTAkhCMQwwCgYDVQQH
    EwNTSloxDzANBgNVBAoTBkZhbmZvdTESMBAGA1UEAxMJZzFuZm91LmRlMSIwIAYJ
    KoZIhvcNAQkBFhN3ZWJtYXN0ZXJAZmFuZm91LmRlMIGfMA0GCSqGSIb3DQEBAQUA
    A4GNADCBiQKBgQC5l4PmZg6TCIpduefxq5gsLXN1JeQdBmUs+pEApeHmNoxE+R4k
    VkQUJzLj5o3ltQGJzYrcIfru8NryQSxaT/5IjeFwS7nIMsx8KPkQQ71BJazsiZj+
    CdLDRJj1m/SrjTsNrfYj4rFFS1FXq7uEDyreUx7fyAljx70jPSsGBOGwRQIDAQAB
    oAAwDQYJKoZIhvcNAQEFBQADgYEACKCBQcnCq5yE3GFyN3NyxCQEvnspkIv9AqI4
    FcwqyHPZWkupp3wfubHY80IwtfjlGlTSynzE7FZLVpcbNfKLnAYlYEwDY7NukJNy
    pCbyqpJJXdAl3Jcun0NlLtSxTQpR+abO8va/BAO5Hp9h1rpSRtTdSJd2fC/owRV1
    BfRuJnA=
    -----END CERTIFICATE REQUEST-----

    提交给你的 ssl 提供商即可,一般半个钟头到一天时间就会发给你证书,如图:

    把所有文件全部上传到一个特定的目录,比如我是上传到 /root/zoulu/

    这里,zoulukey.pem 和 zoulucert.csr 是自己在 VPS 生成的,剩下的都是证书签发机构颁发的。

    一般情况下,直接用证书签发机构颁发的 crt 文件即可,比如 zou_lu.crt ,但是有很多证书签发机构默认在 Firefox 中文版下是不会信任的,经过仔细研究,终于发现,原来得把证书签发机构办法给你的 crt 文件也放入才行。

    方法如下:

    合并 PositiveSSLCA.crt (证书签发机构的 crt) 和 zou_lu.crt (自己域名的 crt)

    cat zou_lu.crt >> PositiveSSLCA.crt

    mv PositiveSSLCA.crt zou_lu.crt

    或者直接用记事本打开,然后复制 PositiveSSLCA.crt 里面所有的内容到 zou_lu.crt 最下方即可。