歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> 學習Linux >> CentOS環境下通過openssl生成自己的ssl證書

CentOS環境下通過openssl生成自己的ssl證書

日期:2017/3/3 17:45:57   编辑:學習Linux

CentOS環境下通過openssl生成自己的ssl證書

CentOS環境下通過openssl生成自己的ssl證書


openssl生成https證書

簡介

本文主要介紹在Linux環境下通過openssl生成自己的ssl證書,並搭配nginx服務器啟用https。我對證書的了解也不是很多,從網上搜羅一些資料,並在CentOS上成功搭建HTTPS服務器,通過本文整理如下:

准備工作

  1. /etc/pki/CA/index.txt 跟蹤已頒發的證書,初始為空。注意是0字節,不然會報出一個錯誤。
    wrong number of fields on line 1 (looking for field 6, got 1, '' left)
  2. /etc/pki/CA/serial文件,最後一次頒發的證書的序列號,初始值01,也可以是00等其它值。

開始

切換工作路徑為/etc/pki/tls方便openssl文件引入。

生成服務器端的私鑰 key文件

openssl genrsa -des3 -out server.key 1024
在/etc/pki/tls目錄下生成了server.key文件。

生成CSR文件

openssl req -new -key server.key -out server.csr -config openssl.cnf
在/etc/pki/tls目錄下生成了server.csr文件。

自己生成CA的簽名

openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cnf
生成兩個文件 ca.key 和ca.crt文件,後面簽名用。

CA簽名CSR文件形成證書 crt文件

用上一步生成的ca.key和ca.crt簽名第二步生成了csr文件。
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf
生成了server.crt文件。

合並證書文件(crt)和私鑰文件(key)

cat server.crt server.key > server.pem

搭建https服務器

修改nginx配置文件如下:

server {    listen       443;    server_name  localhost;    root         /var/www/html;    ssl                  on;    ssl_certificate      /etc/pki/tls/server.pem;    ssl_certificate_key  /etc/pki/tls/server.key;    ssl_session_timeout  5m;    ssl_protocols  SSLv2 SSLv3 TLSv1;    ssl_ciphers  HIGH:!aNULL:!MD5;    ssl_prefer_server_ciphers   on;    location / {    }}

然後通過浏覽器輸入https://localhost就可以查看效果了。

如果想要PHP支持https,只要加入解析php的配置即可:

location ~ \.php$ {    root          /var/www/html;    fastcgi_pass   127.0.0.1:9000;    fastcgi_index  index.php;    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;    fastcgi_param HTTPS on; # 多加這一句    include        fastcgi_params;}

http://xxxxxx/Linuxjc/1184794.html TechArticle

Copyright © Linux教程網 All Rights Reserved