404 Not Found


nginx

通过自签发证书配置Nginx实现HTTPS加密通信

移民资讯2024-11-18 07:49:39金太阳移民

通过自签发证书配置Nginx实现HTTPS加密通信

各位老铁们好,相信很多人对通过自签发证书配置Nginx实现HTTPS加密通信都不是特别的了解,因此呢,今天就来为大家分享下关于通过自签发证书配置Nginx实现HTTPS加密通信以及的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

由于OpenSSL升级可能会影响很多软件,所以我们不会先直接升级,而是在/usr/local/ssl目录下生成新版本的OpenSSL,这样就不会影响其他已有的软件。

首先下载最新版本的OpenSSL。为了兼容性我们选择1.0.2系列版本:

wget Url --no-check-certificate tar -zxvf openssl-*.tar.gz cd openssl-* ./config -fpic 共享make make install echo '/usr/local/ssl/lib' /etc/ld.so。 conf ldconfig 生成自签名证书

分签名证书的使用与商业证书相同,但证书需要自己生成。首先确保OpenSSL升级到新版本,或者通过yum update openssl升级,以确保现有的SSL漏洞得到解决。

mkdir /etc/ssl chmod 700 /etc/ssl /usr/local/openssl/bin/openssl req -newkey rsa:2048 -nodes -keyout /etc/ssl/rsa_private.key -x509 -days 888 -out cert.crt -subj/C=CN/ST=BJ/L=CY/O=CC/OU=OP/CN=Chongchong/emailAddress=test@cc.info 为了避免证书创建过程中交互信息填写,我们使用-subj参数这里指定了一些参数。实际使用时,可以根据自己的需要自行设置:

C=CN 国家代码,中国输入CN

ST=BJ 州(省)名称

L=CY 所在城市名称

O=CC 组织或公司名称

OU=OP 部门名称

CN=Chongchong 通用名称,可以是服务器域控名称,也可以是个人名称

emailAddress=test@cc.info 管理邮箱名称

将生成并准备网站私钥rsa_private.key 和网站证书cert.crt。设置成功后即可验证证书。设置证书安全权限:

Nginx HTTPS 安全配置

确保nginx使用最新版本的nginx(当前版本是1.15.11、1.12.2)。如果系统使用其他应用服务器,一般的做法是添加nginx作为应用服务器的反向代理,例如tomcat。然后在Nginx反向代理中配置https。

打开一个新的虚拟主机并将其设置在服务器{ . } 部分:

请注意,新的nginx 语法中不再使用ssl on;相反,ssl被添加到listen语句中; 443是默认的https端口,可以根据实际情况更改为其他端口。

听*:443 ssl;

ssl_certificate /etc/ssl/cert.crt; ssl_certificate_key /etc/ssl/rsa_private.key; ssl_协议TLSv1.2; ssl_prefer_server_ciphers 开启; ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH33 360AES256+EDH'; ssl_ecdh_curve secp384r1; ssl_session_cache 共享:SSL:10m; ssl_session_tickets 关闭; add_header 严格传输安全'max-age=63072000;包括子域;预加载';路径是刚刚生成的网站证书的路径。根据网站实际情况,配置可能有所不同。我们可以使用Mozilla 的服务器端TLS 配置在线生成器,我们在之前的文章中也提到过:

配置完成后,使用nginx命令检测配置并重新加载Nginx:

检测配置:

nginx -t 重新加载:

nginx -s reloadNginx 优化配置

优化Nginx 性能

添加到http{.}:

ssl_session_cache 共享:SSL:10m; ssl_session_timeout 10m;增加session缓存可以提高nginx处理https的性能。

在配置了https的虚拟主机server{.}中添加以下内容:

keepalive_timeout 70;设置超时会因为超时而等待,从而导致性能问题

fastcgi ssl配置

有时启用https后,某些PHP程序通过认证后会出现跳转页面错误,跳转到http会出现问题。

解决办法是在include fcgi.conf中找到'location ~ .*.(php|php5)?${}';或者在fastcgi_param配置后添加:

fastcgi_param HTTPS 开启; fastcgi_param HTTP_SCHEME https;浏览器添加网站信任

使用自签名https证书,默认浏览器拒绝访问,需要将网站添加到浏览器信任列表中才可以访问。

如何添加信任:

单击高级并将您要访问的URL 添加到信任:

Chrome设置类似,点击高级

点击继续

证书验证

查看我们的自签名证书信息:

天下数据是国内为数不多的拥有多个海外自建机房的新型IDC服务商之一,被业界公认为“中国IDC行业首选品牌”。

除了提供传统的IDC产品外,天下数据的主要职责是为大中型企业提供更加完善、安全、定制化的满足个性化需求的服务器解决方案,特别是在直销、金融、视频、流媒体、游戏等领域。电子商务。区块链、快消品、物联网、大数据等众多行业,我们可以解决客户在服务器租赁中遇到的各种问题。

相关问答

问:使用自签证书实现Nginx HTTPS 安全吗?
2个回答
猫腻

答: 虽然使用自己签发的证书可以快速配置Nginx HTTPS,但这并不代表它足够安全。 自签证书无法像公证书那样获得浏览器的信任,所以用户可能会看到警告提示,提醒他们连接可能不安全。 在网站处理敏感信息时,使用自签证书存在风险,因为恶意攻击者可能会利用这个漏洞窃取用户数据。

28 人赞同了该回答

今非昔比'

答: 如果您只是为了测试或内部环境使用HTTPS,则使用自签证书是可以的。 但是,在面向公众的网站上,必须使用公钥证书来确保用户安全性和信赖度。您可以通过购买公证书或者申请免费证书来获得安全可靠的HTTPS连接。

93 人赞同了该回答

问:搭建Nginx HTTPS需要哪些步骤?
2个回答
执妄

答: 实现Nginx HTTPS首先需要获取一个 SSL 证书,可以使用自签证书或者购买公钥证书。 然后根据您的操作系统和 Nginx 版本,配置相关指令,例如将证书文件路径添加到 Nginx 配置文件中,并启用 TLS/SSL 模块。 最后重启 Nginx 服务,即可使用 HTTPS 连接访问网站。

15 人赞同了该回答

放肆丶小侽人

答: 您可以参考Nginx 官方文档或网络上的教程,根据自己的环境进行具体的操作步骤。 许多教程会提供详细的图文说明,帮助您更轻松地完成配置过程。

121 人赞同了该回答

问:如何监控Nginx HTTPS的性能?
2个回答
古巷青灯

答: 可以使用 Nginx 的内置统计模块来监控 HTTPS 连接的建立成功率、平均响应时间等指标。 此外,您可以结合其他监控工具,例如 Graphite 或 Nagios,获得更全面的分析信息。 监控工具可以帮助您及时发现性能瓶颈,以便采取措施优化工作效率。

119 人赞同了该回答

米兰

答: 同时,定期检查 Nginx 日志文件也是一种有效监控方式。 日志文件会记录 HTTPS 连接相关的详细事件,可能包含错误提示、安全事件等关键信息。 通过分析日志文件,您可以了解当前系统状态以及潜在问题。

185 人赞同了该回答

相关推荐