当前位置:首页 > 技术文章 > 正文内容

nginx配置ssl证书(nginx配置ssl证书后,浏览器访问提示证书无效)

arlanguage3个月前 (01-31)技术文章26

当前使用操作系统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

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/1244.html

分享给朋友:

“nginx配置ssl证书(nginx配置ssl证书后,浏览器访问提示证书无效)” 的相关文章

logstash+ES+kibana搭建日志收集分析系统

日志监控和分析在保障业务稳定运行时,起到了很重要的作用,不过一般情况下日志都分散在各个生产服务器,且开发人员无法登陆生产服务器,这时候就需要一个集中式的日志收集装置,对日志中的关键字进行监控,触发异常时进行报警,并且开发人员能够查看相关日志。logstash+elasticsearch+kibana...

网站nginx配置限制单个IP访问频率,预防DDOS恶意攻击

一、简介对于网站来说,尤其是流量较大出名的网站,经常遇到攻击,如DDOS攻击等,虽然有些第三方,如Cloudflare可以挡,但对于动态网站PHP来说,只能挡一部分。这时候需要对于单个IP恶意攻击做出限流。nginx的两个模块可以限流。nginx两个限流模块:连接频率限制,ngx_http_lim...

PHP-性能优化 php性能最优化安全最大化

1 尽量静态化如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍。当然了,这个测试方法需要在十万级以上次执行,效果才明显。其实静态方法和非静态方法的效率主要区别在内存:静态方法在程序开始时生成内存,实例方法(非静态方法)在程序运行中生成内存,所以静态方法可...

php手把手教你做网站(二十四)jquery ajax上传大的附件

上传大的附件分为两种情况,可以改变服务器配置;不能改变配置;第2种使用分片上传优势:可以突破服务器上传大小的限制,可以web存储上传到哪一块了,在浏览器关闭或者刷新的情况下可以断点续传;劣势:上传速度慢,在我本地电脑测试,200M的文件,改变配置按照正常方式上传大约需要12到15秒,但是使用第2种分...

linux系统安全,多人共用服务器,防止别人干‘坏事’

我们知道,在开发一个应用的过程中,需要涉及代码、操作系统、网络和数据库等多个方面。所以,只是了解代码安全肯定是不够的,我们还需要了解常见的基础环境和工具中的安全机制,学会通过正确地配置这些安全机制,来提升安全保障。谈到 Linux,我相信你每天都在使用 Linux 进行各种开发和运维操作。但是,大多...

一起学习Kubernetes:容器和镜像

简述容器每个运行的容器都是可重复的;包含依赖环境在内的标准,意味着无论你在哪里运行它都会得到相同的行为。容器将应用程序从底层的主机设施中解耦。 这使得在不同的云或 OS 环境中部署更加容易。Kubernetes 集群中的每个节点都会运行容器,这些容器构成分配给该节点的 Pod。 单个 Pod 中的容...