nginx: [emerg] bind() to 0.0.0.0:4433 failed (98: Address already in use)、

今天遇到两个nginx问题nginx: [emerg] bind() to 0.0.0.0:4433 failed (98: Address already in use)
no "ssl_certificate" is defined in server listening on SSL port while SSL handshaking
都让我情绪崩溃了。

  • nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)

netstat -anp|grep 443没有找到占用端口的程序,可以断定是nginx启动时重复监听导致的,仔细查看配置文件后,发现stream块中与http块的443重复导致,删掉stream块(之前做正向代理测试,忘了删除)即可。

stream{
 listen 443;
}

http{
	server {
	 listen 443 ssl;
	}
}
  • no "ssl_certificate" is defined in server listening on SSL port while SSL handshaking

可以确定肯定配置了ssl_certificate、ssl_certificate_key 。

server {
    listen              443 ssl;
    server_name         www.example.com;
    ssl_certificate     www.example.com.crt;
    ssl_certificate_key www.example.com.key;
    ...
}

经检查发现,除了上述配置,另有一个server块的SSL 添加default_server导致,删除default_server即可,使用的nginx版本是openresty1.13.6.2

 server {
   listen 443 ssl  default_server ;
  }

修改后

 server {
   listen 443 ssl ;
   //没有配置ssl_certificate     
  }

官方文档listen指令,default_server作用如下

The default_server parameter, if present, will cause the server to
become the default server for the specified address:port pair. If none
of the directives have the default_server parameter then the first
server with the address:port pair will be the default server for this
pair.

似乎还是不能解释为什么删掉default_server就好了。在SSL & Ngnix: no “ssl_certificate” is defined in server listening on SSL port while SSL handshaking中提到

SNI will only match on those that are labelled with an ssl listener.
However, the default server will grab all incoming traffic on 443,
regardless of SSL or not. Hence, it’s actually preveting SNI from
actually working at all, right off the bat, by hoarding all of the
traffic for itself.

翻译过来就是,SNI(server name indication)会匹配有ssl标记的listen;default_server会将访问443端口的所有访问都拦截过来,也就是说default_server会阻止SNI的工作;
顺便,加深下default_server的理解,参考How nginx processes a request,default_server是对端口而言的,也就是说可以为不同端口可以指定default_server,

server {
    listen      192.168.1.1:80;
    server_name example.org www.example.org;
    ...
}

server {
    listen      192.168.1.1:80 default_server;
    server_name example.net www.example.net;
    ...
}

server {
    listen      192.168.1.2:80 default_server;
    server_name example.com www.example.com;
    ...
}

如果没有指定default_server,那么nginx.conf中第一个server会作为default server。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/566958.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

java开发之路——node.js安装

1. 安装node.js 最新Node.js安装详细教程及node.js配置 (1)默认的全局的安装路径和缓存路径 npm安装模块或库(可以统称为包)常用的两种命令形式: 本地安装(local):npm install 名称全局安装(global):npm install 名称 -g本地安装和全局安装…

input的type=‘radio‘设置只读属性颜色为灰色,如何修改

目录 1.设置input和label的样式为不可点击。 2.设置input的readonly属性。 3.若想变回可修改,用js实现 4.如何自定义radio的颜色。 5.完整代码 input的单选框有时候需要实现只读,两个办法,一个disabled,一个是readonly. 但d…

前期Hadoop学习总结

前期Hadoop学习总结 1.Linux:操作系统 ​ 2.虚拟机:主机 3.SecureCRT (客户端):连接Linux 方便操作 4.Hadoop:软件 这个软件要装在Linux里面 5.Hadoop是干嘛的: Hadoop是一个开源的分布式计…

前端路由的实现原理

当谈到前端路由时,指的是在前端应用中管理页面导航和URL的机制。前端路由使得单页应用(Single-Page Application,SPA)能够在用户与应用交互时动态地加载不同的视图,而无需每次都重新加载整个页面。 在前端开发中&…

货拉拉0-1数据指标体系构建与应用

目录 一、背景 二、指标体系搭建 2.1 指标设计 2.2 指标体系搭建 2.3 指标维度拆解 三、指标标准化建设 四、指标元数据管理 五、指标应用&未来规划 原文大佬介绍的这篇指标体系构建有借鉴意义,现摘抄下来用作沉淀学习。如有侵权请告知~ 一、背景 指标…

什么是仪器校准报告?

在科学实验和工业生产中,仪器是一种非常重要的辅助工具,无论是测量数据、控制实验进程还是保证产品质量,仪器都发挥着至关重要的作用。为了确保仪器的准确性和稳定性,仪器校准报告这一概念应运而生。本文给大家详细介绍仪器校准报…

利用STM32的定时器和中断实现精准时间控制

⬇帮大家整理了单片机的资料 包括stm32的项目合集【源码开发文档】 点击下方蓝字即可领取,感谢支持!⬇ 点击领取更多嵌入式详细资料 问题讨论,stm32的资料领取可以私信! 在嵌入式系统开发中,精确的时间控制是许多应用的…

0元实现网站HTTP升级到HTTPS(免费https证书)

HTTPS就是在HTTP的基础上加入了SSL,将一个使用HTTP的网站免费升级到HTTPS主要包括以下几个步骤: 1 获取SSL证书 永久免费的https证书申请通道https://www.joyssl.com/certificate/select/free.html?nid16 免费的SSL证书同样能实现HTTPS,国…

【前端】vue的基础知识及开发指引

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、Vue是什么二、学习 Vue.js 的基础知识三、熟悉 Vue.js 的生态系统四、掌握常用工具和库五、实践和项目开发六、 持续学习和跟进 前言 随着开发语言及人工智…

[Windows] Bypass分流抢票 v1.16.25 五一黄金周自动抢票软件(2024.02.08更新)

五一黄金周要来了,火车票难买到,即便官网候选订票也要看运气,推荐使用这个靠谱的自动抢票软件, 该工具是目前市面上最好用口碑最好的电脑抢票软件,从13年到现在,作者依旧在更新,可以自动识别123…

优秀博士学位论文分享:通往稳健在线学习的“在线集成”理论与方法

优秀博士学位论文代表了各学科领域博士研究生研究成果的最高水平,本公众号近期将推出“优秀博士学位论文分享”系列文章,对人工智能领域2023年优秀博士学位论文进行介绍和分享,方便广大读者了解人工智能领域最前沿的研究进展。 “CCF博士学位…

用于自动化机器陀螺仪传感器:XV7081BB

介绍一款用于自动化机器的数字输出型陀螺仪传感器XV7081BB。这款新推出的陀螺仪XV7081BB到底有什么魅力呢?我们可以用常用款用于智能割草机的XV7011BB作对比:XV7081BB提供16位或24位分辨率的角速率输出速率范围为400s。而XV7011BB采用16位角速度输出,检测范围为100…

软考 系统架构设计师系列知识点之大数据设计理论与实践(13)

接前一篇文章:软考 系统架构设计师系列知识点之大数据设计理论与实践(12) 所属章节: 第19章. 大数据架构设计理论与实践 第4节 Kappa架构 19.4.2 Kappa架构介绍 Kappa架构由Jay Kreps提出(Lambda由Storm之父Nayhan M…

48-PCIE转串口和并口电路设计

视频链接 PCIE转串口和并口电路设计01_哔哩哔哩_bilibili PCIe转串口和并口电路设计 1、PCIe转串并口电路设计基本介绍 2、PCIe转串口和并口的方案(京东) 2.1、PCIe转串口 2.1.1、ASIX (亚信)MCS9922-PCIe转2路RS232扩展卡 2.1.2、ASIX (亚信)MCS9900-PCIe转4路RS232扩展卡…

yield函数怎么理解?

目录 白话系列: 例子🌰: 什么叫暂停 yield和next搭配使用 例子🌰: 白话系列: 可以暂停,可以生成,next一个,yield一个 例子🌰: def generat…

如何使用 Meta AI 根据文本提示生成图片

在数字艺术和设计的世界中,AI 图片生成器已经成为了一种创新工具,它能够根据简短的文本描述来创造出令人惊叹的视觉作品。Meta AI 提供了这样一个平台,让用户可以轻松地将他们的想象变为现实。在本文中,我将指导您如何使用 Meta A…

C++——类和对象练习(日期类)

日期类 1. 构造函数和析构函数2. 拷贝构造和赋值运算符重载3. 运算符重载3.1 日期的比较3.2 日期加减天数3.3 日期减日期3.4 流插入和流提取 4. 取地址和const取地址重载5. 完整代码Date.hDate.c 对日期类进行一个完善,可以帮助我们理解六个默认成员函数&#xff0c…

图搜索算法详解:广度优先搜索与深度优先搜索的探索之旅

图搜索算法详解:广度优先搜索与深度优先搜索的探索之旅 1. 广度优先搜索(BFS)1.1 伪代码1.2 C语言实现 2. 深度优先搜索(DFS)2.1 伪代码2.2 C语言实现 3. 总结 图搜索算法是计算机科学中用于在图结构中查找路径的算法。…

手撕红黑树(map和set底层结构)(2)

[TOC]红黑树 一 红黑树概念 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩倍&…

54-摄像头DVP接口电路设计

视频链接 摄像头电路设计-DVP接口01_哔哩哔哩_bilibili 摄像头DVP接口电路设计 1、摄像头简介 1.1、Camera介绍 在各类信息中,图像含有最丰富的信息,作为机器视觉领域的核心部件,摄像头被广泛应用。 目前市面上最常用的摄像头为OV5640。…
最新文章