nginx配置ssl证书

当前使用操作系统centos

1.安装nss-tools

sudo yum install nss-tools

2. 使用mkcert工具生成受信任的本地ssl证书

mkcert工具下载链接:
https://github.com/FiloSottile/mkcert/releases

或者linux命令下载

wget -O mkcert https://github.com/FiloSottile/mkcert/releases/download/v1.4.4/mkcert-v1.4.4-linux-amd64

3.使文件可执行

chmod +x mkcert-v1.4.4-linux-amd64

4.创建本地CA,加入并且默认加入可信任CA中

sudo ./mkcert-v1.4.4-linux-amd64 -install

5.生成证书,根据域名生成证书 -cert-file 证书放置位置文件 ;-key-file 证书key放置位置文件

sudo
./mkcert-v1.4.4-linux-amd64 -key-file
/home/mkcert/ssl/pro-key.pem -cert-file /home/mkcert/ssl/pro.pem 域名

6.证书生成完成

7.修改名字为需要的名字,例如pro-key.pem为pro-key.key,pro.pem为pro.key

8. 上传到nginx位置


9.修改nginx.conf配置文件

server下添加

listen 443 ssl; #监听端口

listen 8080 ssl; #监听端口

server_name aidog.supconit.com; #访问nginx的域名

port_in_redirect off;


ssl_certificate
/home/supcon/nginx/ssl/supconit.com.crt;
#证书地址

ssl_certificate_key
/home/supcon/nginx/ssl/supconit.com.key; #证书地址


ssl_session_cache shared:SSL:1m; #设置ssl/tls会话缓存的类型和大小

ssl_session_timeout 5m; #客户端可以重用会话缓存中ssl参数的过期时间


ssl_ciphers HIGH:!aNULL:!MD5; #加密套件

ssl_prefer_server_ciphers on; #指定是否服务器密码优先客户端密码


注意出现以下问题解决办法:


一、出现上图问题原因为安装nginx时没有配置 http_ssl_module

解决:

1.查看当前nginx版本:nginx -V


如果没有安装时没有该标记的内容,代表没有安装http_ssl_module

2.去官网下载对应版本nginx或请求下载

wget https://nginx.org/download/nginx-1.21.0.tar.gz


3.解压:

tar -zxvf nginx-1.21.0.tar.gz

4.使用./configure生成Makefile文件,以便可以执行make:

./configure --prefix=/opt/nginx-1.21.0 --with-http_ssl_module

5.执行make命令:

make

Make完成会在文件夹里生成一个objs文件夹

6.切换到原先nginx安装sbin目录,备份内容:

mv nginx nginx_bak

7.把objs文件夹的nginx文件替换到原先nginx文件夹下:

mv nginx /usr/local/nginx/sbin

8.启动nginx

二、nginx想强制http请求转到https

配置文件中添加以下内容

#让http请求重定向到https请求

error_page 497 https://$host$uri?$args;

当 nginx 配置的站点只允许 https 访问时,我们却使用 http 去访问,此时 nginx 会报出 497 错误码。

三、想要https可以访问,http也可以访问,增加如下两个监听接口,https默认访问443,http默认访问80

相关文章

Nginx 从安装到高可用入门教程

Nginx安装1、去官网http://nginx.org/下载对应的nginx包,推荐使用稳定版本2、上传nginx到linux系统3、安装依赖环境(1)安装gcc环境yum install gcc-...

Nginx从安装到高可用,一篇搞定

一、Nginx安装1、去官网http://nginx.org/下载对应的nginx包,推荐使用稳定版本2、上传nginx到linux系统3、安装依赖环境(1)安装gcc环境yum install gc...

Nginx合集-常用功能指导

1)启动、重启以及停止nginx进入sbin目录之后,输入以下命令#启动nginx ./nginx #指定配置文件启动nginx ./nginx -c /usr/local/nginx/conf/n...

Nginx的启动、停止与重启方法

启动 启动代码格式:nginx安装目录地址 -c nginx配置文件地址例如:[root@LinuxServer sbin]# /usr/local/nginx/sbin/nginx -c /usr/...

nginx启动、重启、关闭

一、启动cd usr/local/nginx/sbin./nginx二、重启更改配置重启nginxkill -HUP 主进程号或进程号文件路径或者使用cd /usr/local/nginx/sbin....

老版本nginx存在安全漏洞,请升级至1.18稳定版本

1、场景介绍部门承接了XXX局的安全防控系统,物理机部署在本地XX云上,web服务器使用nginx服务,采用动静分离的部署方式,nginx版本1.14,应XX云安全检测要求现版本暴出漏洞,需要进行版本...