首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

nginx面试常见问题

4、请解释Nginx如何处理HTTP请求。 Nginx使用反应器模式。主事件循环等待操作系统发出准备事件的信号,这样数据就可以从套接字读取,在该实例中读取到缓冲区并进行处理。...这对于安全方面来说是很好的,特别是当您使用web托管服务时。 7、请列举Nginx服务器的最佳用途。...Stub_status指令:该指令用于了解Nginx当前状态的当前状态,如当前的活动连接,接受和处理当前读/写/等待连接的总数 Sub_filter指令:它用于搜索和替换响应中的内容,并快速修复陈旧的数据...您可以使用Nginx模块gunzip将请求压缩到上游。gunzip模块是一个过滤器,它可以对不支持“gzip”编码方法的客户机或服务器使用“内容编码:gzip”来解压缩响应。...18、解释如何在Nginx服务器上添加模块? 在编译过程中,必须选择Nginx模块,因为Nginx不支持模块的运行时间选择。

2.9K20

nginx常见面试题

4、请解释Nginx如何处理HTTP请求。 Nginx使用反应器模式。主事件循环等待操作系统发出准备事件的信号,这样数据就可以从套接字读取,在该实例中读取到缓冲区并进行处理。...这对于安全方面来说是很好的,特别是当您使用web托管服务时。 7、请列举Nginx服务器的最佳用途。...Stub_status指令:该指令用于了解Nginx当前状态的当前状态,如当前的活动连接,接受和处理当前读/写/等待连接的总数 Sub_filter指令:它用于搜索和替换响应中的内容,并快速修复陈旧的数据...您可以使用Nginx模块gunzip将请求压缩到上游。gunzip模块是一个过滤器,它可以对不支持“gzip”编码方法的客户机或服务器使用“内容编码:gzip”来解压缩响应。...18、解释如何在Nginx服务器上添加模块? 在编译过程中,必须选择Nginx模块,因为Nginx不支持模块的运行时间选择。

2.4K31
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Nginx面试中最常见的18道题 抱佛脚必备

    4、请解释Nginx如何处理HTTP请求。 Nginx使用反应器模式。主事件循环等待操作系统发出准备事件的信号,这样数据就可以从套接字读取,在该实例中读取到缓冲区并进行处理。...这对于安全方面来说是很好的,特别是当您使用web托管服务时。 7、请列举Nginx服务器的最佳用途。...Stub_status指令:该指令用于了解Nginx当前状态的当前状态,如当前的活动连接,接受和处理当前读/写/等待连接的总数 Sub_filter指令:它用于搜索和替换响应中的内容,并快速修复陈旧的数据...您可以使用Nginx模块gunzip将请求压缩到上游。gunzip模块是一个过滤器,它可以对不支持“gzip”编码方法的客户机或服务器使用“内容编码:gzip”来解压缩响应。...18、解释如何在Nginx服务器上添加模块? 在编译过程中,必须选择Nginx模块,因为Nginx不支持模块的运行时间选择。

    2.5K30

    nginx面试常见问题

    4、请解释Nginx如何处理HTTP请求。 Nginx使用反应器模式。主事件循环等待操作系统发出准备事件的信号,这样数据就可以从套接字读取,在该实例中读取到缓冲区并进行处理。...这对于安全方面来说是很好的,特别是当您使用web托管服务时。 7、请列举Nginx服务器的最佳用途。...Stub_status指令:该指令用于了解Nginx当前状态的当前状态,如当前的活动连接,接受和处理当前读/写/等待连接的总数 Sub_filter指令:它用于搜索和替换响应中的内容,并快速修复陈旧的数据...您可以使用Nginx模块gunzip将请求压缩到上游。gunzip模块是一个过滤器,它可以对不支持“gzip”编码方法的客户机或服务器使用“内容编码:gzip”来解压缩响应。...18、解释如何在Nginx服务器上添加模块? 在编译过程中,必须选择Nginx模块,因为Nginx不支持模块的运行时间选择。

    3.8K10

    一次nginx引起的线上502故障

    header from upstream 从上游读取响应头时,上游提前关闭连接 根据日志信息初步判断为nginx在等待tomcat响应时,关闭了连接。...4,修改Nginx nginx.conf ,在对应的映射位置加入如下参数: #表示与后端服务器连接的超时时间,即发起握手等候响应的超时时间。一般建议不要超过75s,默认时间60s。...proxy_send_timeout 90; #设置Nginx从代理的后端服务器获取信息的时间,表示连接建立成功后,Nginx等待后端服务器的响应时间,其实是Nginx已经进入后端的排队之中等候处理的时间...Nginx从代理的后端服务器获取的响应信息,会放置到缓冲区。.../1.0不支持keepalive,因此需要配置proxy_http_version 1.1,proxy_set_header Connection默认close:通知后端服务器主动关闭连接,这样会导致任何一个客户端的请求都在后端服务器上产生了一个

    10.8K21

    nginx优化指南

    理论上nginx可以支持n*worker_connections个并发连接。...,如果响应数据在该时间段内未到达,nginx将主动关闭连接,避免nginx被低效率的客户端消耗大量的连接资源引起性能下降,例如: http { client_body_timeout 10;...在发送文件时使用零拷贝技术,在传统的文件传输过程中,数据从磁盘读取到内核缓冲区,然后再从内核缓冲区复制到用户空间缓冲区,最后才能发送给客户端。...当aio被设置为on时,Nginx将使用异步文件IO进行文件的读取和写入操作。这意味着Nginx在进行文件IO操作时,不会阻塞其他的请求处理,而是继续处理其他请求。...这个版本信息可能包含敏感的细节,如Nginx的版本号和其他相关信息,这可能会增加服务器面临的潜在安全风险。

    92810

    如何在Ubuntu上安装Drone持续集成环境

    同时,您还需要提前安装好Docker、学会使用Docker Compose,并在你的服务器上安装好Nginx,学会配置SSL证书,具体教程如下: 如何在Ubuntu安装Docker 如何在Ubuntu安装...如何在Ubuntu安装Nginx:在服务器上安装Nginx。 如何使用Ubuntu的加密来保护Nginx:使用受信任的腾讯云SSL证书保护Nginx。...完成后保存并关闭文件。 在我们启动Drone服务之前,我们必须配置Nginx。Drone代理需要能够连接到Drone服务器,并且连接依赖于Nginx代理。...第一个块配置一个名为drone的上游请求,我们可以在其中代理请求。server指令定义了如何连接到我们的Drone服务,该服务将在端口8000上运行。...如果收到Upgrade头,Nginx将设置$connection_upgrade变量进行升级。如果没有,它将设置为关闭。 这些变量允许我们在代理WebSocket请求时设置正确的标头。

    2.9K21

    一文详解Nginx安全加固

    假设你有一个基于Git版本控制的Web项目部署在你的服务器上,并且你不希望任何访问者能够看到.git目录下的内容,因为这可能包含敏感信息如提交历史、开发者邮箱等。...配置安全Headers 添加安全相关的HTTP响应头,可以有效防御常见的Web攻击: # 防止点击劫持 add_header X-Frame-Options SAMEORIGIN; add_header...、单引号、尖括号等字符,返回444状态码 # 444是Nginx特殊状态码,表示关闭连接而不发送响应头 if ($request_uri ~* [;'] ) { return...防止跨站脚本攻击(XSS) 可以通过设置HTTP响应头来增加安全性: add_header X-XSS-Protection "1; mode=block"; 这个头部告诉浏览器启用XSS过滤,并在检测到...、发送给客户端的数据大小、来源页面、用户代理、X-Forwarded-For头(如果有的话)、毫秒级的时间戳、连接序列号、通过该连接发出的请求数量、上游服务器地址、上游响应时间、整个请求处理时间和压缩率等

    31121

    Nginx之memcached_module模块解读

    基本介绍 nginx的memcached_module模块可以直接从memcached服务器中读取内容后输出,后续的请求不再经过应用程序处理,如php-fpm、django,大大的提升动态页面的速度...nginx 只负责'从memcached'读取'指定'的'缓存数据' --> nginx'只负责从memcached读' 后台'应用程序'通过'相关逻辑'将要'缓存的页面'推送到memcached,...size 4k 或 8k 设置用于读取 Memcached 服务器,读取响应数据缓冲区的大小,当 Nginx 收到响应数据后,将同步传递给客户端 memcached_connect_timeout time...memcached_read_timeout time 60s 在连续两个从 Memcached 服务器接收数据的读操作之间的间隔时间超过设置的时间时,将关闭连接 memcached_send_timeout...time 60s 在连续两个发送到 Memcached 服务器的写操作之间的间隔时间超过设置的时间时,将关闭连接 memcached_socket_keepalive on 或 off off 设置

    21051

    Nginx4大模块——proxy、headers、upstream、stream

    , 并将从上游服务器上得到的结果返回给 Internet 上请求连接的客户端, 此时代理服务器对外的表现就是一个 Web 服务器。...从被代理的服务器读取响应时,使用该缓冲区保存响应的开始部分。...当关闭缓冲时,收到响应后,nginx立即将其同步传给客户端。nginx不会尝试从被代理的服务器读取整个请求,而是将proxy_buffer_size指令设定的大小作为一次读取的最大长度。   ...upstream,那么这个指令就是指定在何种情况下,一个失败的请求应该被发送到下一台后端服务器,有如下指令:   error – 和后端服务器建立连接时,或者向后端服务器发送请求时,或者从后端服务器读取响应时...,出现错误;   timeout – 和后端服务器建立连接时,或者向后端服务器发送请求时,或者从后端服务器读取响应时,出现超时;   invalid_header – 后端服务器返回空响应或者非法响应头

    1.7K31

    http的分块传输编码

    1 获取请求和响应的大小 在使用nginx的时候,如果要将对应的请求和响应进行保存到日志中,从而进行流量回放或者是安全扫描,那么就会遇到很大的body或者响应很大的情况,并且这种数据都属于敏感数据了...默认开启的目的,是因为nginx和upsteam一般在同一段网络中,从而数据传输较快,有利于提高吞吐,节省后端的资源,因为像tomacat这种,不能支持太多的并发连接,从而使用nginx进行缓冲,当关闭之后...要想良好的支持流式数据,老老实实的关闭proxy_buffering,也就是不缓存上游的数据,这个还吃磁盘的iops,一不小心,就会让rt抖动一下,而且这种方式也比较耗费内存,关闭之后,对于nginx来说...,而curl的报错信息表示,数据在读取的时候,突然关闭了连接,而且是数据的大小和文件的大小差不多一样大的时候,然后就中断了。...风言风语 大文件的传输有各种不同的方式,例如可以开启压缩,例如分段传输,支持断点续传等等,基本上都是通过不同的http头来实现的。

    12610

    Nginx 面试中最常见的 18 道题

    发送响应报文时,是边接收来自后端Web服务器的数据,边发送给客户端。 网络依赖性低,理论上只要能够ping通就可以实施负载均衡,而且可以有效区分内网、外网流量。 支持内置服务器检测。...这对于安全方面来说是很好的,特别是当您使用web托管服务时。 7、请列举Nginx服务器的最佳用途。...Stub_status指令:该指令用于了解Nginx当前状态的当前状态,如当前的活动连接,接受和处理当前读/写/等待连接的总数; Sub_filter指令:它用于搜索和替换响应中的内容,并快速修复陈旧的数据...您可以使用Nginx模块gunzip将请求压缩到上游。gunzip模块是一个过滤器,它可以对不支持“gzip”编码方法的客户机或服务器使用“内容编码:gzip”来解压缩响应。...用于运行Nginx -s参数的可执行文件。 18、解释如何在Nginx服务器上添加模块? 在编译过程中,必须选择Nginx模块,因为Nginx不支持模块的运行时间选择。

    65210

    如何保护您的服务器免受HTTPoxy漏洞的影响

    攻击者可以通过传递带有请求的HTTPProxy 标头来利用易受攻击的部署,这会在联系支持服务时更改应用程序使用的URL。这可用于泄漏凭据,修改对应用程序的响应等。...如果CGI应用程序或库使用此变量而不进行其他处理,则在尝试连接到代理服务时,最终可能会使用客户端提供的值。...但是,如果使用CGI,那些天真地读取HTTP_PROXY变量而不修改其行为的库很容易受到攻击。 如何打败漏洞 幸运的是,HTTPoxy修复起来相对简单。...可以从Web服务器层或应用程序或库中解决该漏洞: 当应用程序或库HTTP_PROXY处于CGI环境中时,它们可以忽略该变量。...Ubuntu和Debian服务器 在Ubuntu和Debian服务器上,FastCGI参数通常包含在设置FastCGI代理时的文件fastcgi_params或fastcgi.conf文件中。

    1.7K00

    Nginx - 在Nginx中透传客户端真实IP的技巧

    当 Nginx 作为反向代理时,此变量记录上游服务器的响应状态码。 $body_bytes_sent: 传送给客户端的响应主体内容的字节数,不包括响应头的大小。...$request_time: 处理请求的总时间,从接收到客户端请求到完整发送响应的时间,单位为秒。 $upstream_response_time: 从上游服务器读取响应的时间,单位为秒。...-: 含义:上游服务器的响应状态码。在没有上游服务器时,这里显示为 -。 615: 含义:传送给客户端的响应主体内容的字节数,不包括响应头的大小。...在这个例子中,表示客户端使用的是 Chrome 浏览器,运行在 macOS 上。 -: 含义:上游服务器的地址。在没有上游服务器时,这里显示为 -。...0.000: 含义:处理请求的总时间,从接收到客户端请求到完整发送响应的时间,单位为秒。 -: 含义:从上游服务器读取响应的时间。在没有上游服务器时,这里显示为 -。

    6.1K00

    Nginx 面试中最常见的 18 道题

    发送响应报文时,是边接收来自后端Web服务器的数据,边发送给客户端。 网络依赖性低,理论上只要能够ping通就可以实施负载均衡,而且可以有效区分内网、外网流量。 支持内置服务器检测。...这对于安全方面来说是很好的,特别是当您使用web托管服务时。 7、请列举Nginx服务器的最佳用途。...Stub_status指令:该指令用于了解Nginx当前状态的当前状态,如当前的活动连接,接受和处理当前读/写/等待连接的总数; Sub_filter指令:它用于搜索和替换响应中的内容,并快速修复陈旧的数据...您可以使用Nginx模块gunzip将请求压缩到上游。gunzip模块是一个过滤器,它可以对不支持“gzip”编码方法的客户机或服务器使用“内容编码:gzip”来解压缩响应。...18、解释如何在Nginx服务器上添加模块? 在编译过程中,必须选择Nginx模块,因为Nginx不支持模块的运行时间选择。 - END -

    1.2K30

    Nginx 面试中最常见的 18 道题

    发送响应报文时,是边接收来自后端Web服务器的数据,边发送给客户端。 网络依赖性低,理论上只要能够ping通就可以实施负载均衡,而且可以有效区分内网、外网流量。 支持内置服务器检测。...只需将请求删除的服务器就可以定义为: 这里,服务器名被保留为一个空字符串,它将在没有“主机”头字段的情况下匹配请求,而一个特殊的Nginx的非标准代码444被返回,从而终止连接。...这对于安全方面来说是很好的,特别是当您使用web托管服务时。 7、请列举Nginx服务器的最佳用途。...Stub_status指令:该指令用于了解Nginx当前状态的当前状态,如当前的活动连接,接受和处理当前读/写/等待连接的总数;Sub_filter指令:它用于搜索和替换响应中的内容,并快速修复陈旧的数据...您可以使用Nginx模块gunzip将请求压缩到上游。gunzip模块是一个过滤器,它可以对不支持“gzip”编码方法的客户机或服务器使用“内容编码:gzip”来解压缩响应。

    64020

    nginx之详解fastcgi指令(修正)

    FastCGI服务器失败,为防止其与nginx服务器断开连接,可以用这个指令。...fastcgi_next_upstream error timeout 使用字段:http, server, location 指令指定哪种情况请求将被转发到下一个FastCGI服务器: error — 传送中的请求或者正在读取应答头的请求在连接服务器的时候发生错误...timeout — 传送中的请求或者正在读取应答头的请求在连接服务器的时候超时。 invalid_header — 服务器返回空的或者无效的应答。 http_500 — 服务器返回500应答代码。...指令指定请求服务器的超时时间,指完成了2次握手的连接,而不是完整的连接,如果在这期间客户端没有进行数据传递,那么服务器将关闭这个连接。...FastCGI服务器上,这些参数通常以环境变量的形式取得, 例如,”User-agent”头以HTTP_USER_AGENT参数传递,除此之外还有一些其他的http头,都可以用fastcgi_param

    5.1K20

    高并发系统设计之缓存

    Proxy Buffer Nginx的Proxy Buffer是用来临时存储从代理服务器收到的响应数据的。 在反向代理场景中,Nginx会从后端服务器接收响应,然后再将这些响应发送给客户端。...当Nginx从后端服务器获取该文件时,如果没有使用Proxy Buffer,Nginx就必须一直等待整个文件都传输完毕,才能释放出来处理其他请求。...nginx的默认设置为"8 4k"或"4 8k",取决于操作系统的页面大小。 proxy_buffer_size:定义读取响应头部的缓冲区大小。这通常不需要修改,除非你预期会有非常大的响应头。...proxy_cache_use_stale:当错误发生或更新的响应过期时,允许发送"陈旧"的响应给客户端,默认情况下是关闭的。...proxy_cache_background_update:此指令告诉Nginx在后台异步更新缓存项,当缓存项即将过期时,此指令可以确保客户端总是从缓存中获取响应,而不必等待新的响应,默认情况下是关闭的

    34830
    领券