Nginx - 如何修复 “ssl” Directive Is Deprecated, Use “listen … ssl” 错误

将 nginx 更新到较新版本时,我们可能会遇到不推荐使用的配置。 Nginx 使用类似 YAML 的定义格式来创建配置。 这种格式随着时间的推移通过添加、删除或更改关键字而变化。

本篇文章介绍如何修复 nginx 的 “ ‘ssl’ Directive Is Deprecated, Use ‘listen … ssl’ ” 错误。


Deprecation Warning 弃用警告

使用 nginx -t 检查 nginx 配置时,我们可能会看到以下警告消息:

$ sudo nginx -t

nginx: [warn] the "ssl" directive is deprecated, use the "listen ... ssl" directive instead in /etc/nginx/sites-enabled/futurestud.io:8

nginx: configuration file /etc/nginx/nginx.conf test failed

更新 nginx 后可能会出现此消息。 但是,出现此问题也不必惊慌,我们可以快速修复它!


修复“ssl” Directive Is Deprecated, Use “listen … ssl”

Deprecation Warning 告诉我们要重新配置 SSL 设置。 在 nginx 1.10(及更低版本)中,使用 ssl on; 来配置 SSL。 下面是它的工作原理:

server {

listen80;

listen443;

server_name futurestud.io;

sslon;

}

此设置在 nginx 1.12(及更高版本)中已经更改了。 我们现在需要在与 listen 语句相同的行中配置 SSL。 此外,ssl on; 设置不再可用。 可以删除它。

现在修改配置文件如下

server {

listen80;

listen443 ssl;

server_name futurestud.io;

# ssl on;

}

再次检查我们的 nginx 配置来验证它是否已正确配置:

$ sudo nginx -t

最后,我们可以重新加载 nginx 服务从而使更改生效。 本篇文章中所做的维护更改不会改变 nginx 的实际行为。 正在从弃用的功能转移到 nginx 的优化配置选项:

$ sudo service nginx reload

本文转载自:迹忆客(https://www.jiyik.com)

以上是 Nginx - 如何修复 “ssl” Directive Is Deprecated, Use “listen … ssl” 错误 的全部内容, 来源链接: utcz.com/z/290306.html

回到顶部