建站记录之nginx配置ssl证书

拟墨画扇 提交于 2019-12-03 01:45:28

nginx配置ssl证书,也就是常说的https,配置前准备,须有一个域名,下面来讲下配置免费的证书。

1 进入后台管理搜索ssl证书,这里我使用的是腾讯云,所以搜出来后出现以下界面

 

点击申请免费证书,一般情况下1-3个工作日审核通过,我运气好,几个小时就申请成功了。

2 申请证书成功后点击下载会得到几个证书文件,我们这里用nginx的来操作,把那两个文件放到服务器某个目录中

我这里把这两个证书文件放在服务器 /jssbg/ssl 目录中

3  进入服务器,找到nginx配置目录,并做配置,如下

如果不知道nginx在哪里,可以使用命令查看nginx安装在哪个目录

whereis nginx

找到配置文件 conf/nginx.conf  加入下面配置

server {
  listen 443 ssl;
  server_name 服务器域名;

  ssl_certificate /jssbg/ssl/xxxx.crt; #这是.crt结尾的文件路径
  ssl_certificate_key /jssbg/ssl/xxxxx.key; #这是.key结尾的文件路径

  ssl_session_cache shared:SSL:1m;
  ssl_session_timeout 5m;

  ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
  ssl_prefer_server_ciphers on;

  location / {
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://www.baidu.com/;
  }
}

加入以上配置后,重启nginx

注意:可能会报以下错误

nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /jssbg/nginx/conf/nginx.conf:38

解决方案:

找到你的nginx原始包目录 找到configure, 执行以下命令

./configure --prefix=/jssbg/nginx --with-http_ssl_module

make

上面--prefix是你的nginx安装的路径,也可以不填使用默认路径

4 把 objs 下的nginx文件复制到你刚才安装的路径的sbin目录下替换掉原有的nginx文件

cp objs/nginx /jssbg/nginx/sbin

杀掉所有nginx的进程,并重启nginx

访问https://域名, 访问成功,说明证书已经配置成功

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!