阿里云ssl证书申请的步骤就不详细介绍了
地址:阿里云
1.下载证书
选择nginx版本
2.配置ca证书
我的nginx的安装目录为: /usr/local/nginx/
cd /usr/local/nginx/
进入配置文件目录,增加cert/文件夹
cd conf
mkdir cert
把刚刚下载的两个文件上传到cert/文件夹中
开始配置
vi nginx.conf
把下面的代码粘贴进去:
server {
listen 443 ssl;
server_name xxx.cn;
ssl_certificate cert/5568612_xxx.cn.pem;
ssl_certificate_key cert/5568612_xxx.cn.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
index index.html index.htm index.php server.php;
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php(.*)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include fastcgi_params;
}
}
server {
listen 80;
server_name xxx.cn;
return 301 https://$host$request_uri;#将http请求转为https
}
nuxt https相关配置
upstream nodenuxt {
server 127.0.0.1:3000; #nuxt
keepalive 64;
}
server {
listen 80;
server_name test.cn;
return 301 https://$host$request_uri;#将http请求转为https
}
server {
listen 443 ssl;
server_name test.cn;
ssl_certificate cert/5568612_test.cn.pem;
ssl_certificate_key cert/5568612_test.cn.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Nginx-Proxy true;
proxy_cache_bypass $http_upgrade;
proxy_pass http://nodenuxt;#代理
}
}
配置完成后,检查一下nginx配置文件是否可用,有successful表示可用。
nginx -t // 检查nginx配置文件
配置正确后,重新加载配置文件使配置生效:
killall nginx
/usr/local/nginx/sbin/nginx
至此,nginx的https访问就完成了,并且通过return 301重定向方式把所有http请求也转成了https请求,更加安全。