nginx配置ssl
一、SSL模块安装
输入
nginx安装目录 注意这里是大写的V,千万别写错了
./usr/app/nginx/sbin/nginx -V
这种是没有证书情况
这种是已经装了的就跳过配置SSL证书
进入到你的解压缩后的nginx目录,注意这里不是nginx安装目录,是解压缩后的目录,我是直接把nginx安装包和解压在一个目录
cd /usr/local/software/nginx-1.26.0
找到上面的图有框起来的就可以用下面的指令,注意prefix = 你安装目录的路径,可以看步骤一
./configure --prefix=/usr/app/nginx --with-http_stub_status_module --with-http_ssl_module
接下来执行
make
操作完成后原来的解压目录/usr/local/software/nginx-1.26.0/会多个objs文件夹里有nginx文件
停掉nginx服务,使用新的nginx文件替换掉之前安装目录sbin下的nginx
/usr/app/nginx/sbin/nginx -s stop
替换掉之前的nginx
cp /usr/local/software/nginx-1.26.0/objs/nginx /usr/app/nginx/sbin/nginx
进入到nginx安装目录下,查看SSL是否成功,注意V大写
出现 --with-http_ssl_module就表示成功了
二、阿里申请
当注册买了一个域名后
域名解析
主机记录填写www 和 @ 创建两种,记录值输入你要选择服务器的ip
到ssl证书管理控制台
输入你的域名
证书申请
到云解析DNS控制台
三、配置SSL证书
解压缩下载好的证书
将下载好的证书上上传到服务器,我将证书放在了/usr/app/nginx/conf目录下的ssl文件夹
四、进行nginx.conf配置
cd /usr/app/nginx/conf/
#修改nginx.conf文件
vi nginx.conf
仅修改Server的部分,443端口这进行证书的绑定,下方监听80的server,可以将请求转发到https的443端口
server {
#SSL 默认访问端口号为 443
listen 443 ssl;
#请填写绑定证书的域名
server_name 你的域名;
#请填写证书文件的相对路径或绝对路径
ssl_certificate /usr/app/nginx/conf/ssl/isleslie.xyz.pem;
#请填写私钥文件的相对路径或绝对路径
ssl_certificate_key /usr/app/nginx/conf/ssl/isleslie.xyz.key;
ssl_session_timeout 5m;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#请按照以下协议配置
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
location / {
#网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
#例如,您的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 html 为 /etc/www。
root html;
index index.html index.htm;
}
}
server {
listen 80;
#请填写绑定证书的域名
server_name 你的域名;
#把http的域名请求转成https
return 301 https://$host$request_uri;
}
注意:记得在安全组中开放443端口
五、启动nginx
到安装目录的sbin目录下使用此命令
./nginx -t
没问题重启nginx
systemctl restart nginx
至此就完事了,访问你的域名,发现有这个小锁,说明没问题了