nginx配置https(包含证书配置)
前言
原有机器已经安装过nginx了,再原有基础上升级为https请求
1.制作伪证书
生成ssl密钥
填写域名或者ip,生成csr文件。生成ssl密钥会生成2个文件,复制或者下载下来,分别包存为【csr.txt】【ip_ssl.private】
生成ssl证书
生成ssl证书将生成【csr.txt】文件内容粘贴进去,获取免费证书,复制或者下载【ip_ssl.crt】文件。
结果
至此获取到了2个文件【ip_ssl.crt】【ip_ssl.private】。将这2个文件上传到服务器上,记录其位置,我这里放在了
/usr/local/nginx/ssl
目录下。
2.查看原有nginx是否配置ssl
- 首先找到nginx的安装目录
- 执行命令查看是否未开启SSL模块
/usr/local/nginx/sbin/nginx -V
# 返回结果:
nginx version: nginx/1.12.1
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
built with OpenSSL 1.0.2k-fips 26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
- configure arguments:后面如果有 --with-http_ssl_module 忽略之后步骤
- 切换到源码包
- 执行命令编译
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
# -------
make
- 不使用make install,否则会覆盖原有安装
- 如果需要备份原有nginx
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
- 停止nginx,然后将刚刚编译好的nginx覆盖掉原有的nginx
cd /home/nginx1.12.1/
cp ./objs/nginx /usr/local/nginx/sbin/
8.启动nginx,再次查看是否添加成功
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
/usr/local/nginx/sbin/nginx -V
3.配置nginx配置文件
server {
listen 443 ssl;
server_name 127.0.0.1;
ssl_certificate /usr/local/nginx/ssl/ip_ssl.crt; # ssl证书存储路径
ssl_certificate_key /usr/local/nginx/ssl/ip_ssl.private; # 秘钥存储路径
# ssl的一些配置
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #开启TLS协议
location / {
root html;
index index.html index.htm;
}
}
4.nginx常用命令
cd /usr/local/nginx
# 指定配置文件启动nginx命令
sbin/nginx -c /usr/local/nginx/conf/nginx.conf
# 停止nginx
sbin/nginx -s stop
# 优雅的退出nginx
sbin/nginx -s quit
# 检查配置文件
sbin/nginx -t
# 重新加载nginx
sbin/nginx -s reload
# 查看进程号
ps -aux |grep nginx
# 强制终止,直接杀
kill -9 进程号
# 安全停止
kill -QUIT 进程号
# nginx版本
sbin/nginx -v
# nginx版本等详细信息
sbin/nginx -V
参考连接:
https://blog.csdn.net/yxjie2/article/details/126163577
http://events.jianshu.io/p/2fba66b52cd9