# 阿里云配置 HTTPS

# 一、购买证书

依次点击:数字证书管理服务 -> SSL 证书 -> 免费证书 -> 立即购买

阿里云有免费的 20 个域名的证书,因此就选择这个。

# 二、创建证书

购买完证书,就可以创建证书,然后填入域名,等待签发。

# 三、部署证书

下载证书,由于我们是用 nginx 做反向代理,因此就下载 nginx 版本的证书,下载的是一个压缩文件,解压后发现里面有 keypem 文件。

# 四、配置 nginx

在服务器的 nginx 安装目录下新建 cert 文件夹,把 keypem 文件放入 cert 文件夹中。

	# http permanent redirect
  	server {
		listen 80;
		server_name library.yunhu.wiki; 
		rewrite  ^(.*) https://$server_name$request_uri permanent;
	  }
  
    server {
		listen 443 ssl;
		server_name library.yunhu.wiki;
		
		# ssl 验证相关配置	
		ssl_certificate /www/server/nginx/cert/library.yunhu.wiki.pem;
		ssl_certificate_key /www/server/nginx/cert/library.yunhu.wiki.key;
		
		# 缓存有效期
		ssl_session_timeout  5m;   
		# 加密算法
		ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
		# 安全链接可选的加密协议
		ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
		# 使用服务器端的首选算法
		ssl_prefer_server_ciphers on;   
			
		location / {
			root /usr/local/project/yunhu-library/yunhu-library-front/dist;
			index index.html index.htm;
			try_files $uri $uri/ /index.html;
		}
			
  		location ^~/api/ {
  			proxy_pass http://localhost:8085;
  		}
  		proxy_set_header Host $host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Forwarded-Host $http_host;
		proxy_set_header X-Forwarded-Proto $scheme;
		
		access_log  /www/wwwlogs/yunhu-library-front-access.log;
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

80 端口的会被重定向成 https 的地址。

ssl_certificatessl_certificate_key 配置的是刚才的 keypem 文件的路径。

location /root 配置前端 build 的项目路径。

所有 api 的请求会由运行在 8085 号端口的程序处理。