前些天我在服务器上下载了 nginx 并启动访问成功,可是今天我觉得访问的时候没有那个小锁很难受,所以,今天我们来看看如何给 nginx 安装ssl证书,开启https访问。
执行以下命令,打开配置文件
vim /usr/local/nginx/conf/nginx.conf
找到 # HTTPS server 注释下的 server 模块,删除行首注释符号#,并根据如下内容进行修改
server {
#HTTPS的默认访问端口443。
#如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
listen 443 ssl;
#填写证书绑定的域名
server_name <yourdomain>;
#填写证书文件名称
ssl_certificate cert/<cert-file-name>.pem;
#填写证书私钥文件名称
ssl_certificate_key cert/<cert-file-name>.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
#自定义设置使用的TLS协议的类型以及加密套件(以下为配置示例,请您自行评估是否需要配置)
#TLS协议版本越高,HTTPS通信的安全性越高,但是相较于低版本TLS协议,高版本TLS协议对浏览器的兼容性较差。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
#表示优先使用服务端加密套件。默认开启
ssl_prefer_server_ciphers on;
location / {
#这个配置会将https请求代理到你的http请求
proxy_pass http://<yourdomain>:跳转的端口/;
}
}
下面是我的具体配置(有需要的小伙伴可以参考一下哦):
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 8089;
server_name xxx.xxxxx.top;
location / {
root html;
index index.html index.htm;
#proxy_pass http://xxx.xxxxx.top;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
# HTTPS server
server {
listen 443 ssl;
server_name xxx.xxxxx.top;
ssl_certificate /usr/local/nginx/conf/cert/xxx.xxxxx.top.pem;
ssl_certificate_key /usr/local/nginx/conf/cert/xxx.xxxxx.top.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://xxx.xxxxx.top:8089/;
}
}
}
然后我们保存并退出。
我们输入以下命令查看 nginx 的进程
ps -ef | grep nginx
再输入以下命令结束 nginx 的进程,然后我们就能看到结束了nginx进程
kill -QUIT 进程号
输入以下命令检查配置文件的信息,记得路径替换成自己的哦,如果出现以下结果的话,就说明文件格式正确,没有格式错误了。
nginx -tc /usr/local/nginx/conf/nginx.conf
输入以下命令重启nginx,这个命令是指定配置文件启动,记得替换成自己的路径信息哦
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
我们可以再次输入以下命令查看 nginx 是否启动成功
ps -ef | grep nginx
在浏览器中输入 https://域名 ,访问nginx
现在我们就能以 https 的方式访问 nginx 啦!
以上就是我个人安装在 Linux 环境下 Nginx 安装 ssl 证书 的整个流程,写完笔记之后,感觉更加流畅了,如果有什么问题,可以将问题发我邮箱 luodiab@126.com,欢迎各位的意见。