寂寞大萝卜 发表于 2016-12-25 10:07:06

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”。
  这种方法获得的证书只能严格匹配的域名才能使用,无法用于其他域或者子域。
页: [1]
查看完整版本: nginx配置https服务器