本文主要介紹在Linux環境下通過openssl生成自己的ssl證書,並搭配nginx服務器啟用https。我對證書的了解也不是很多,從網上搜羅一些資料,並在CentOS上成功搭建HTTPS服務器,通過本文整理如下:
wrong number of fields on line 1 (looking for field 6, got 1, '' left)
切換工作路徑為/etc/pki/tls
方便openssl文件引入。
openssl genrsa -des3 -out server.key 1024
在/etc/pki/tls目錄下生成了server.key文件。
openssl req -new -key server.key -out server.csr -config openssl.cnf
在/etc/pki/tls目錄下生成了server.csr文件。
openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cnf
生成兩個文件 ca.key 和ca.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文件。
cat server.crt server.key > server.pem
修改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