Nginx 配置 HTTPS
1.Nginx的SSL模块安装
/usr/local/nginx/sbin/nginx -V
如果出现–with-http_ssl_module说明SSL模块已经安装。直接跳到第2步
安装的时候没有编译ssl,难道把nginx卸载重新安装一次?不不不,我们只需要在原有的基础上添加ssl模块就行了。
- 我们先来到当初下载nginx的包压缩的解压目录,如果你是看小编写的教程安装的,解压目录应该在“/usr/loacl/src/”,绝大多数应该都是在这个目录下的。
- yum -y install openssl openssl-devel
- ./configure
- ./configure –with-http_ssl_module //重新添加这个ssl模块
- 执行make命令,但是不要执行make install,因为make是用来编译的,而make install是安装,不然你整个nginx会重新覆盖的
- 在我们执行完做命令后,我们可以查看到在nginx解压目录下,objs文件夹中多了一个nginx的文件,这个就是新版本的程序了。首先我们把之前的nginx先备份一下,然后把新的程序复制过去覆盖之前的即可。
- cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
- 如果Nginx服务器正在运行先关闭服务器,nginx -s stop
- cp objs/nginx /usr/local/nginx/sbin/nginx
- 最后我们来到Nginx安装目录下,来查看是否有安装ssl模块成功。执行./sbin/nginx -V即可看到刚开始的图。
- 最后如果出现如上图,则SSL模块添加到Nginx的编译好了,这次重新启动则OK了。
2.ssl 证书部署
下载ssl证书
首先进入腾讯云控制台 云产品->域名与网站->SSL证书,下载SSL证书。
将下载的压缩包解压。
将域名 blog.turl.tech 的证书文件1_turl.tech_bundle.crt 、私钥文件2_turl.tech.key保存到同一个目录,例如/usr/local/nginx/conf目录下。 更新Nginx根目录下 conf/nginx.conf 文件如下:
server {
listen 443;
server_name blog.turl.tech; #填写绑定证书的域名
ssl on;
ssl_certificate 1_turl.tech_bundle.crt;
ssl_certificate_key 2_turl.tech.key;
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 $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8088/;
}
}
配置文件参数 | 说明 |
---|---|
listen 443 | SSL访问端口号为443 |
ssl on | 启用SSL功能 |
ssl_certificate | 证书文件 |
ssl_certificate_key | 私钥文件 |
ssl_protocols | 使用的协议 |
ssl_ciphers | 配置加密套件,写法遵循openssl标准 |
配置完成后,先用bin/nginx –t来测试下配置是否有误。
运行 nginx -s reload,重新加载配置文件。
就可以使用https://blog.turl.tech来访问了。
参考博客
- https://blog.csdn.net/weixin_37264997/article/details/84525444
- http://www.laoz.net/1121.html
- https://blog.csdn.net/qq_30109365/article/details/83589113