之前有一篇文章交大家怎么在https://dash.cloudflare.com配置https证书。今天记录下如何自己创建一个自己证书。小菜参考这篇博客https://www.cnblogs.com/jingxiaoniu/p/6745254.html,还有前辈指导我。在这里向前辈致敬!
1.登录服务器
远程登录阿里云服务器,小菜这里用的是putty
,大家看着用,反正只要登录上去就可以。
2.证书和私钥的生成
注意:一般生成的文件放在nginx/conf/ssl目录下
,这是个好的习惯。
1.创建服务器证书密钥文件 server.key:
openssl genrsa -des3 -out server.key 1024
回车后输入密码,确认密码,自己随便写,但要记住。
2.创建服务器证书的申请文件 server.csr
openssl req -new -key server.key -out server.csr
输入的内容为:
Enter pass phrase for root.key: #输入前面创建的密码
Country Name (2 letter code) [XX]: #国家代号,中国输入CN
State or Province Name (full name) []: #省的全名,拼音 ShangHai
Locality Name (eg, city) [Default City]: #市的全名,拼音 ShangHai
Organization Name (eg, company) [Default Company Ltd]: #公司英文名 MyCompany Corp
Organizational Unit Name (eg, section) []: #可以不输入
Common Name (eg, your name or your server's hostname) []: #服务器的域名 如:example.com ,www.example.com 要不要加www看你访问的时候需不需要加
Email Address []: #你的邮箱
A challenge password []: #可以不输入
An optional company name []: #可以不输入
最后完成后,输入ls
查看在你当前文件下有没有server.key,erver.csr
这两个文件
3.备份一份服务器秘钥
cp server.key server.key.org
4.去除文件口令
openssl rsa -in server.key.org -out server.key
5.去除文件口令
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
3.配置文件
在你要配置的文件中添加上ssl
,注意路径要写对。
server {
listen 7000 ssl;
server_name www.walidream.com;
ssl_certificate /etc/nginx/conf/ssl/server.crt;
ssl_certificate_key /etc/nginx/conf/ssl/server.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
index index.html index.htm;
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host:7000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 1000m;
proxy_connect_timeout 6000; ##修改为10分钟
proxy_send_timeout 6000;
proxy_read_timeout 6000;
}
}
4.检测
由于这个配置是设置代理,但是https证书生效了,只不过谷歌浏览器是认为不安全的。如果想要绿标,请参考这篇博客http://waliblog.com/network/2018/05/12/site.html