记录---http配置为https的详细步骤

100 阅读2分钟

src=http___c-ssl.duitang.com_uploads_item_201906_04_20190604233738_xyhtk.thumb.400_0.jpg&refer=http___c-ssl.duitang.webp

我已经在阿里上面买了一个服务器了,申请了免费的ssl证书,并且拥有了一个域名

配置

下载ssl证书

image.png 我这里用的nginx部署的,所以我下载的是nginx的配置文件

image.png 下载之后有两个文件。分别是.pem和.key文件

image.png

配置https服务

1、在/usr/local/nginx目录下创建/ssl/zj_person_walletopen_h5文件夹用来存放刚刚下载的两个认证文件 image.png 2、在nginx.conf配置文件中配置

 server {
        listen       443 ssl;
        server_name  域名;

        ssl_certificate      /usr/local/nginx/ssl/zj_person_walletopen_h5/文件名.pem;
        ssl_certificate_key  /usr/local/nginx/ssl/zj_person_walletopen_h5/文件名.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_prefer_server_ciphers  on;

        location /zj_person_walletopen_h5 {
	    root /usr/share/nginx/html/;
	    index index.html;
	}
    }

3、配置完重启即可 找到nginx下的sbin文件并进入执行 ./nginx -s reload 重启nginx

./nginx -s reload  

问题

1、模块不存在

如果遇到这个问题,就是表名明,你安装的nginx中不存在这个模块ngx_http_ssl_module,要么重新安装nginx,要么往下看

[emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:133

切换你的nginx的安装包下,以下命令都是在这个包下执行

cd /root/nginx/nginx-1.11.3

主要修改的是这两个文件,需要注意一下

image.png 1、查看nginx原有的模块

nginx -V

2、在configure arguments:后面显示的原有的configure参数如下:(查看

--prefix=/usr/local/nginx --with-http_stub_status_module

那么我们的新配置信息就应该这样写(运行):

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

运行上面的命令即可,等配置完

3、配置完成后,运行命令

make

这里不要进行make install,否则就是覆盖安装

4、然后备份原有已安装好的nginx

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

5、然后将刚刚编译好的nginx覆盖掉原有的nginx(这个时候nginx要停止状态)

nginx -s stop

也就在开头提到的objs下的nginx复制到项目所在的文件下进行替换

cp ./objs/nginx /usr/local/nginx/sbin/

6、回到nginx的安装目录(非安装包所在目录),启动nginx,查看是否已经加入成功

./nginx -s reload

nginx -V 

输入域名查看配置结果

如果有域名出现这种情况,请备案

如果没有域名、先买域名

image.png