因爲公司研發人員增長,測試服務器不夠用了,因此加了新服務器,新服務器的https證書就成問題了,總不能每次新增服務器都要從新生成https證書吧,並且還得讓全公司研發都信任一遍,那是至關費事了。node
公司本身當證書頒發機構,全部人將公司設爲受信任的證書頒發機構,這樣公司頒發的全部證書就會被自動信任nginx
什麼是CA?數字證書認證機構(英語:Certificate Authority,縮寫爲CA),下面是生成ca的方法git
openssl genrsa -des3 -out myCA.key 2048
命令執行過程當中會要求輸入密碼,因爲是測試環境,對安全性沒那麼高,能夠隨便輸一個。安全
openssl req -x509 -new -nodes -key myCA.key -sha256 -days 36500 -out myCA.pem
執行過程當中會要求輸入各類信息,按要求輸入便可服務器
如今咱們有myCA.pem,這就root CA。
而後在操做系統裏信任myCA.pem。測試
生成私鑰操作系統
openssl genrsa -out dev.com.key 2048
生成簽名請求code
openssl req -new -key dev.com.key -out dev.com.csr
建立配置文件dev.com.extip
authorityKeyIdentifier=keyid,issuer basicConstraints=CA:FALSE keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment subjectAltName = @alt_names [alt_names] DNS.1 = dev.com
最後生成證書ssl
openssl x509 -req -in dev.com.csr -CA myCA.pem -CAkey myCA.key -CAcreateserial \ -out dev.com.crt -days 1825 -sha256 -extfile dev.com.ext
如今有3個文件dev.com.key(私鑰),dev.com.csr(證書籤名請求),dev.com.crt(證書)
nginx配置
ssl_certificate dev.com.crt; ssl_certificate_key dev.com.key;
此文參考了這篇文章