如何将我们的Nginx的版本号进行隐藏
介绍
我们使用Nginx进行代理时,所有的网络请求都是通过Nginx进行分发。而只要是软件那么都会有漏洞。
Nginx也再所难免会有一些漏洞,而Nginx也在不断进行版本迭代,那么我们就需要在对外访问的时候,避免外界获取到我们的
Nginx的版本。减少部分因为版本暴露而出现的攻击风险。(及时升级最新版本,安全性会更高。)
本篇介绍如何将我们的Nginx的版本号进行隐藏,避免受到外界攻击。
1、如何查询自己的服务器Nginx 版本是否隐藏
下面介绍不同环境下的查询方法
(1)windows环境下
我们可以通过浏览器访问网页,按F12 进入检查模式,通过Network 面板可以看到当前页面的所有网络请求
随意找一个接口点击,通过弹出的请求详情中的Headers面板下的 Response Headers 可以看到下面的数据: 其中Server 后面就会显示你的nginx 的版本号了:
Accept-Ranges: bytes Access-Control-Allow-Credentials: true Access-Control-Allow-Headers: Content-Type,ADMIN-Authorization,API-Authorization Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS Access-Control-Max-Age: 3600 Cache-Control: public,max-age=60,s-maxage=60 Content-Encoding: gzip Content-Length: 3348 Content-Type: application/javascript Date: Fri, 23 Sep 2022 01:55:37 GMT Last-Modified: Tue, 08 Mar 2022 07:14:08 GMT Server: nginx/1.23.0 Vary: Origin
上面的实例是 nginx版本号被暴露的实例, 如果隐藏版本号后就会显示成:Server: nginx/ 不会懈怠有版本号。
(2)Linux 环境下
相较于windows的查询方法,Linux 查询可以直接通过 curl -I 命令进行查询了。
例如查本站的效果:
[root@iZuf63tu3fn1swasqa62h8Z nginx]# curl -I zinyan.com HTTP/1.1 301 Moved Permanently Server: nginx Date: Fri, 23 Sep 2022 02:09:49 GMT Content-Type: text/html Content-Length: 178 Connection: keep-alive Location: https://zinyan.com/
如果没有进行nginx 版本隐藏就会在nginx 后面加上版本号了。
2、隐藏Nginx 版本
隐藏方法比较简单:需要打开nginx.conf 配置文件。(通常情况下该文件目录在 /etc/nginx/nginx.conf)
切换到nginx.conf 文件所在目录下,使用vim nginx.conf 打开文件。(按I进入到编辑模式)
然后在server级别下添加: server_tokens off; 如果原先有server_tokens 就将值改为on,如果没有就添加整个。
实现效果如下:
http{ ... server{ listen 80 default_server; listen [::]:80 default_server; server_name_; root /usr/share/nginx/html; server_tokens off;#添加这一项就可以了 location / { } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } } }
添加完毕后,按Esc 键退出编辑模式,然后输入:wq 保存退出即可。(如果不熟悉vim 指令可以通过https://zinyan.com/?p=23 了解)
最后执行:
nginx -s reload
重启nginx 就可以了。就能实现版本的隐藏了。
默认情况下,nginx 是不会隐藏版本号的。需要我们自己主动配置。
以上是如何将我们的Nginx的版本号进行隐藏的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

要让 Tomcat 服务器对外网访问,需要:修改 Tomcat 配置文件,允许外部连接。添加防火墙规则,允许访问 Tomcat 服务器端口。创建 DNS 记录,将域名指向 Tomcat 服务器公有 IP。可选:使用反向代理提升安全性和性能。可选:设置 HTTPS 以提高安全性。

ThinkPHP Framework 的本地运行步骤:下载并解压 ThinkPHP Framework 到本地目录。创建虚拟主机(可选),指向 ThinkPHP 根目录。配置数据库连接参数。启动 Web 服务器。初始化 ThinkPHP 应用程序。访问 ThinkPHP 应用程序 URL 运行。

要解决 "Welcome to nginx!" 错误,需要检查虚拟主机配置,启用虚拟主机,重新加载 Nginx,如果无法找到虚拟主机配置文件,则创建默认页面并重新加载 Nginx,这样错误消息将消失,网站将正常显示。

Docker 环境中容器通信有五种方法:共享网络、Docker Compose、网络代理、共享卷、消息队列。根据隔离性和安全性需求,选择最合适的通信方法,例如利用 Docker Compose 简化连接或使用网络代理提高隔离性。

要将 HTML 文件转换为网址,需要使用网络服务器,包括以下步骤:获取网络服务器。设置网络服务器。上传 HTML 文件。创建域名。路由请求。

Node.js 项目的服务器部署步骤:准备部署环境:获取服务器访问权限、安装 Node.js、设置 Git 存储库。构建应用程序:使用 npm run build 生成可部署代码和依赖项。上传代码到服务器:通过 Git 或文件传输协议。安装依赖项:SSH 登录服务器并使用 npm install 安装应用程序依赖项。启动应用程序:使用 node index.js 等命令启动应用程序,或使用 pm2 等进程管理器。配置反向代理(可选):使用 Nginx 或 Apache 等反向代理路由流量到应用程

Dockerfile 中最常用的指令有:FROM:创建新镜像或派生新镜像RUN:执行命令(安装软件、配置系统)COPY:复制本地文件到镜像ADD:类似 COPY,可自动解压缩 tar 存档或获取 URL 文件CMD:指定容器启动时的命令EXPOSE:声明容器监听端口(但不公开)ENV:设置环境变量VOLUME:挂载主机目录或匿名卷WORKDIR:设置容器中的工作目录ENTRYPOINT:指定容器启动时要执行的可执行文件(类似 CMD,但不可覆盖)

是的,Node.js 可以外网访问。您可以使用以下方法:使用 Cloud Functions 部署函数并公开访问。使用 Express 框架创建路由并定义端点。使用 Nginx 反向代理请求到 Node.js 应用程序。使用 Docker 容器运行 Node.js 应用程序并通过端口映射公开。
