之前有一篇文章交大家怎么在https://dash.cloudflare.com配置https证书。今天记录下如何自己创建一个自己证书。小菜参考这篇博客https://www.cnblogs.com/jingxiaoniu/p/6745254.html,还有前辈指导我。在这里向前辈致敬!

1.登录服务器

远程登录阿里云服务器,小菜这里用的是putty,大家看着用,反正只要登录上去就可以。

ssl

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这两个文件

ssl

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

ssl