Nginx配置https-免费自签名CA证书

作者:佚名 上传时间:2019-03-21 版权申诉

一、为nginx配置https并自签名证书
1、制作CA证书
ca.key CA私钥:
openssl genrsa -des3 -out ca.key 2048
制作解密后的CA私钥(一般无此必要):
openssl rsa -in ca.key -out ca_decrypted.key
ca.crt CA根证书(公钥):
openssl req -new -x509 -days 7305 -key ca.key -out ca.crt
2、制作生成网站的证书并用CA签名认证
在这里,假设网站域名为blog.creke.net
生成blog.creke.net证书私钥:
openssl genrsa -des3 -out blog.creke.net.pem 2048
制作解密后的blog.creke.net证书私钥(注意:nginx配置中,nginx支持的是解密后的格式):
openssl rsa -in blog.creke.net.pem -out blog.creke.net.key
生成签名请求:
openssl req -new -key blog.creke.net.pem -out blog.creke.net.csr
common name中填入网站域名,如blog.creke.net即可生成该站点的证书,同时*也可以使用泛域名如.creke.net来生成所有二级域名可用的网站证书
用CA进行签名:
openssl ca -policy policy_anything -days 1460 -cert ca.crt -keyfile ca.key -in blog.creke.net.csr -out blog.creke.net.crt
其中,policy参数允许签名的CA和网站证书可以有不同的国家、地名等信息,days参数则是签名时限。
如果在执行签名命令时,出现
“I am unable to access the ../../CA/newcerts directory”
修改/etc/pki/tls/openssl.cnf中“dir = ./CA”
然后:
mkdir -p CA/newcerts
touch CA/index.txt
touch CA/serial
echo "01" > CA/serial
再重新执行签名命令。
最后,
把ca.crt的内容粘贴到blog.creke.net.crt后面。这个比较重要!**因为不这样做,可能会有某些浏览器不支持。
好了,现在https需要用到的网站私钥blog.creke.net.key和网站证书blog.creke.net.crt都准备完毕。接下来开始配置服务端。

二、配置nginx
server {
listen 443 ssl;
server_name blog.creke.net;
keepalive_timeout 70;

ssl_certificate     blog.creke.net.crt;  //网站证书存放的路径
ssl_certificate_key blog.creke.net.key;  //网站私钥存放的路径
ssl_session_cache   shared:SSL:10m;
ssl_session_timeout 5m;

ssl_protocols       TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers         HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
...

}

三、检测配置和重新加载nginx配置
检测配置:
nginx -t
重新加载:
nginx -s reload

四、QA
有时候,会发现,在phpMyAdmin等程序登入后会错误地跳转http的问题。解决方法是定位至“location ~ .*.(php|php5)?${}”在include fcgi.conf;或者在fastcgi_param配置后面加上:
fastcgi_param HTTPS on;
fastcgi_param HTTP_SCHEME https;
在这里是nginx官方的关于https的文档,可以作为参考。

免责申明:文章和图片全部来源于公开网络,如有侵权,请通知删除 server@dude6.com

用户评论
相关推荐
Nginxhttps-CA
一、为nginx配置https并自签名证书1、制作CA证书ca.key CA私钥:openssl genrsa -des3 -out ca.key 2048制作解密后的CA私钥(一般无此必
nginxhttps
一、把证书准备好。 步骤与 使用OpenSSL自签发服务器https证书 所述大同小异。在这里再重复一次。 1、制作CA证书: ca
Nginx基础知识————生成ca 使nginx 支持https
创建服务器私钥,命令会让你输入一个口令: $ openssl genrsa -des3 -out server.key 1024 创建
nginxssl支持https安全访问
1、自行颁发不受浏览器信任的SSL证书: HTTPS的SSL证书可以自行颁发,Linux下的颁发步骤如下:
Nginx配置SSL签名证书的方法
主要介绍了Nginx配置SSL自签名证书的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
PDF
54KB
2020-10-04 03:31
HTTPS ssl ,申请多种
推荐一个免费的阿里云产品:云盾证书(https证书) 为了能让非专业人士看懂,同样尽量用直白的话,一般来说:当你个人需要建立网站,或者公司要建立官网、商城,通常需要先购买
HTTPS ssl ,FreeSSL.org 申请多种
随着互联网的日益发展,它已经深入的人们生活的方方面面,可以说我们已经离不开互联网了。面对人类如此的依赖,互联网安全愈发的重要,个人隐私也愈发的需要保护起来。如何才能提高我们上网的安全呢?如何
nginx 添加 https
nginx 添加自签名认证 https 首先启用 ssl 认证 安装编辑 --with-http_ssl_module \
Certbothttps
Certbot免费https证书 Certbot 的官方网站是 https://certbot.eff.org/ 当前工作目录为 /root
在SSL中
示例代码以下是使用OpenSSL生成自签名证书的示例代码:openssl req -x509 -newkey rsa:4096 -keyout {私钥文件名} -out {证书文件名} -days
最新版
Apache、Nginx
2023-03-08 19:18