nginx配置https服务器

# 生成CA的key

> openssl genrsa -des3 -out ca.key 4096

# 生成CA的证书

> openssl req -new -x509 -days 365 -key ca.key -out ca.crt

# 生成我们的key和CSR这两步与上面Self Signed中是一样的

> openssl genrsa -des3 -out myserver.key 4096

> openssl req -new -key myserver.key -out myserver.csr

# 使用ca的证书和key,生成我们的证书

# 这里的set_serial指明了证书的序号,如果证书过期了(365天后),

# 或者证书key泄漏了,需要重新发证的时候,就要加1

> openssl x509 -req -days 365 -in myserver.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt

获取免密码版本

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

注意:提示Common Name (eg, your name or your server's hostname)时设置用于ssl的hostname

nginx配置文件添加ssl server配置

server {

        listen 443;

        server_name www.ciaos.com;

        ssl on;

        ssl_certificate ssl/myserver.crt;

        ssl_certificate_key ssl/myserver.key;

        location /api{

                root html/api;

        }

 }

测试如下:

wget --ca-certificate=server.crt https://test.ciaos.com/

--2015-09-04 15:18:11--  https://test.ciaos.com/

正在解析主机 test.ciaos.com (download.smartecs.net)... 127.0.0.1

正在连接 test.ciaos.com (test.ciaos.com)|127.0.0.1|:443... 已连接。

    错误: 证书通用名 www.ciaos.com” 与所要求的主机名 test.ciaos.com” 不符。

要以不安全的方式连接至 test.ciaos.com,使用“--no-check-certificate”。

这种方法获得的证书只能严格匹配的域名才能使用,无法用于其他域或者子域。

猜你喜欢

转载自ciaos.iteye.com/blog/2240601