关于免费ssl证书的nginx配置

该文章记录四个问题:

1、免费ssl证书的申请

2、申请之后的配置

3、解决配置完之后的会出现下载的情况

4、http重定向到https的配置

首先说明配置的前提:申请的ssl证书为阿里云,项目环境为nginx

一、关于阿里云免费ssl证书的申请

关于免费ssl证书的nginx配置

购买之后在ssl证书管理控制台就可以看到已经购买的证书了

关于免费ssl证书的nginx配置

下载解压之后可以看到有两个文件,一个为key文件,另一个问pem文件

这样阿里云免费的ssl证书就下载好了,第一步也完成了

二、申请之后的配置

xshell连接服务器之后找到环境的配置文件nginx.conf

1、find / -name nginx.conf

2、进入nginx.conf所在目录之后新建一个cert目录

mkdir cert

3、将下载的key和pem文件放到新建的cert目录下,然后就可以配置配置文件了

关于免费ssl证书的nginx配置

4、vim打开nginx.conf文件

关于免费ssl证书的nginx配置

将server下面的注释去掉,将server_name 后面的值换成你的域名,ssl_certificate 后面的值换成cert/你的pem文件名,下面的key对应的相似

下面红框标出的换成你的项目的根目录

关于免费ssl证书的nginx配置

保存退出之后nginx -t 测试看一下配置文件是否有错,没错的话重启nginx就可以了,不要担心网站会塌,这个时候是不影响http的访问的(自己爬塌,愣是这个问题推了两天,也是很怂了)

如果https进入的显示的是403错误的话,可能就是路径或者权限的问题

如果没问题的话这个时候应该会直接下载你的入口文件,接下来解决这个问题

3、解决下载的问题关于免费ssl证书的nginx配置

加入的代码为

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证书的nginx配置

这样ssl证书算是完全的安装完成了