nginx的https配置篇(阿里ECS服务器) - litong534/web GitHub Wiki
首先去CA证书服务里面领取对应自己域名的CA证书,有两个文件,一个以.pem为后缀结尾,另一个以.key作为后缀结尾。我们把文件上传到linux服务器上,记住路径后面要用。
然后在nginx.conf中配置443端口服务(https监听443端口)
server {
listen 443;
server_name rozwel.club;
ssl on;
ssl_certificate cert/123456789.pem;
ssl_certificate_key cert/123456789.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 html;
try_files $uri $uri/ /index.html;
}
location /uploads/images {
alias html/uploads/images;
}
}
以上的配置在阿里CA证书下载页有介绍,我们直接拿过来即可,下面的location一个配的是前端路由redirect,另一个是静态资源服务,注意这里路径是从html开始的。
https协议下的网站,资源需要走https,否则地址栏的绿色锁会消失,并且在控制台会报一个警告。
上面我们处理了静态资源,如果你没有单独配置发送请求的url,到这里就结束了,然而我配置了一个单独的二级域名用来发送请求
server {
listen 443;
server_name api.rozwel.club;
ssl on;
ssl_certificate cert/987654321.pem;
ssl_certificate_key cert/987654321.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 html;
proxy_pass http://<address>:<port>;
}
}
如果这里不处理的话,会直接报错:ERR_CERT_COMMON_NAME_INVALID ,请求也会失败。
所以我们要在阿里云给这个url也申请一个CA证书,同样在nginx中配好,设置对后端地址的反向代理,这样请求我们也处理好了。
看到绿色锁出现的时候,觉得被认可的感觉真好哇-v-