1.如果您是在阿里云购买的域名,可以申请免费的个人SSL安全证书。
2.在SSL证书页面,单击已签发标签,定位到需要下载的证书并单击证书卡片右下角的下载。

3.在证书下载侧页面中定位到Nginx服务器,并单击右侧操作栏的下载,将Nginx服务器证书压缩包下载到本地。
4.解压已下载保存到本地的Nginx证书压缩包文件。 解压后的文件夹中有2个文件: 证书文件:以.pem为后缀或文件类型。 密钥文件:以.key为后缀或文件类型。
5.登录您的Nginx服务器,在Nginx安装目录(默认Nginx安装目录为/usr/local/nginx/conf)下创建cert目录,并将下载的证书文件和密钥文件拷贝到cert目录中。
6.修改Nginx安装目录/conf/nginx.conf文件。 找到以下配置信息:
# HTTPS server
server {
listen 443;
server_name localhost;
ssl on;
ssl_certificate cert.pem;
ssl_certificate_key cert.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
location / {
....
}
修改为:
server {
listen 443 ssl;
server_name www.xxxxx.com; #修改为您证书绑定的域名,例如:www.example.com。
ssl_certificate cert/xxxxxx.pem; #证书文件
ssl_certificate_key cert/xxxxxx.key; #密钥文件
ssl_session_cache shared:SSL:1m;
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;
root /usr/local/nginx/html;
#我的主模块配置
location / {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
root /usr/local/nginx/html/blog;
try_files $uri $uri/ @router;
index index.html;
}
#我的子模块配置
location /admin {
try_files $uri $uri/ /admin/index.html;
}
#我的接口配置
location /api/ {
proxy_pass http://www.xxxx.com:8080/; #将地址代理到api上
}
#我的路由配置
location @router {
rewrite ^.*$ /index.html last;
}
}
7.保存nginx.conf文件后退出。 8.执行以下命令重启Nginx服务器。
nginx -s stop
nginx -s start
9.设置HTTP请求自动跳转HTTPS。 在需要跳转的HTTP站点下添加以下rewrite语句,实现HTTP访问自动跳转到HTTPS页面。
server {
listen 80;
server_name www.xxxxx.com; #修改为您证书绑定的域名,例如:www.example.com。
rewrite ^(.*)$ https://$host$1 permanent; #将所有http请求通过rewrite重定向到https。
root /usr/local/nginx/html;
location / {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
root /usr/local/nginx/html/blog;
try_files $uri $uri/ @router;
index index.html;
}
location /admin {
try_files $uri $uri/ /admin/index.html;
}
location /api/ {
proxy_pass http://www.simoniu.com:8080/; # 将地址代理到api上
}
location @router {
rewrite ^.*$ /index.html last;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}