关于免费ssl证书的nginx配置
该文章记录四个问题:
1、免费ssl证书的申请
2、申请之后的配置
3、解决配置完之后的会出现下载的情况
4、http重定向到https的配置
首先说明配置的前提:申请的ssl证书为阿里云,项目环境为nginx
一、关于阿里云免费ssl证书的申请
购买之后在ssl证书管理控制台就可以看到已经购买的证书了
下载解压之后可以看到有两个文件,一个为key文件,另一个问pem文件
这样阿里云免费的ssl证书就下载好了,第一步也完成了
二、申请之后的配置
xshell连接服务器之后找到环境的配置文件nginx.conf
1、find / -name nginx.conf
2、进入nginx.conf所在目录之后新建一个cert目录
mkdir cert
3、将下载的key和pem文件放到新建的cert目录下,然后就可以配置配置文件了
4、vim打开nginx.conf文件
将server下面的注释去掉,将server_name 后面的值换成你的域名,ssl_certificate 后面的值换成cert/你的pem文件名,下面的key对应的相似
下面红框标出的换成你的项目的根目录
保存退出之后nginx -t 测试看一下配置文件是否有错,没错的话重启nginx就可以了,不要担心网站会塌,这个时候是不影响http的访问的(自己爬塌,愣是这个问题推了两天,也是很怂了)
如果https进入的显示的是403错误的话,可能就是路径或者权限的问题
如果没问题的话这个时候应该会直接下载你的入口文件,接下来解决这个问题
3、解决下载的问题
加入的代码为
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME 你的根目录/$fastcgi_script_name;
include fastcgi_params;
}
然后保存之后nginx -t 测试没问题之后再次重启
这时候https应该是正常显示了的,但是http访问还是http的入口,这样就的解决httpchon重定向的问题
4、解决http重定向到https
在nginx.conf中找到http的server,在server_name下面加上 rewrite ^(.*) https://$host$1 permanent;然后保存退出,nginx -t ,没问题之后重启nginx,然后就好了
这样ssl证书算是完全的安装完成了