×

Nginx 33 篇文章

by Falcon

优秀的web服务器、反向代理、负载均衡器和http缓存软件。

  • OpenResty(nginx) 转发到Caddy Docker容器

    创建Caddy Docker容器 创建并运行 run.sh #!/bin/env bash docker rm -f caddy # $DOCKER_CONF是你存放caddy相关数据的映射目录 docker run -d --name caddy \ -p 8888:80 \ -p 8443:443 \...

    2022-05-18 12:47 Falcon 阅读
  • 在openresty 使用 lua-resty-auto-ssl 自动申请和续期Let's Encrypt 证书

    安装luarocks 首先安装luarocks, 这是一个类似php的composer ,nodejs的npm 第三方包管理工具。 wget http://luarocks.org/releases/luarocks-2.0.13.tar.gz //下载,为了保持兼容性使用这个版本 tar -xzvf luarocks-2.0.13.tar.gz //...

    2022-05-16 13:27 Falcon 阅读
  • 死磕nginx系列--nginx 限流配置

    限流算法 令牌桶算法 算法思想是: 令牌以固定速率产生,并缓存到令牌桶中; 令牌桶放满时,多余的令牌被丢弃; 请求要消耗等比例的令牌才能被处理; 令牌不够时,请求被缓存。 漏桶算法 算法思想是: 水(请求)从上方倒入水桶,从水桶下方流出(被处理); 来不及流出的水存在水桶中(缓冲),以固定速率流出; 水桶满后水溢出(...

    2022-03-17 13:21 Falcon 阅读
  • Nginx从请求中获取文件名、顶级目录的方法

    Nginx从请求中获取文件名、顶级目录的方法 需要使用map和captured: # Gets the basename of the original request map $request_uri $request_basename { ~/(?<captured_request_basename>[^/?]*)(?:\...

    2022-01-20 11:45 Falcon 阅读
  • 重新学习nginx/openresty

    因为今天公司网站的性能问题,使我再一次意识到学习nginx/openresty的必要性,我习惯的学习的方式是用于致学,因为我认为如果缺乏必要的应用场景,是很难真正"学会"一门技术的。使用的场景必须存在,否则只是屠龙之术,比如之前学习了Go语言,学完语法之后我也不知道准备拿来干嘛,写了一两个小脚本就废弃了,因为我开始学的时候就没想好用来做什么,自然没有足够的动...

    2021-10-21 18:10 Falcon 阅读
  • nginx 查询参数的匹配

      server { #... common definitions such as server, root location / { error_page 418 = @queryone; error_page 419 = @querytwo; error_page 420 = @querythr...

    2021-07-17 20:36 Falcon 阅读
  • nginx截取字符串

    测试nginx代理转发时,遇到这样一个问题: 请求url:http://1.1.1.1:8080/testimp/abcd/123?a=1&b=2&ip_port=2.2.2.2:1234 要求nginx,使用参数ip_port重新转发,转发的url如下:http://2.2.2.2:1234/abcd/123?a=1&b=2&a...

    2021-06-22 16:17 Falcon 阅读
  • Nginx反向代理SSL_do_handshake() failed错误

    nginx配置反向代理,报错: 2021/05/26 11:38:25 [error] 14030#14030: *5287204 SSL_do_handshake() failed (SSL: error:1408F10B:SSL routines:ssl3_get_record:wrong version number) while SSL han...

    2021-05-26 19:46 Falcon 阅读
  • 为什么说在nginx location里使用 if 指令是邪恶的?

    为什么if是邪恶的? if 指令在location里使用经常会出现不符合期望的情形,有时甚至会出现段错误(segfaults),这是因为if指令是重写模块的一部分,该模块命令式地计算指令。另一方面,NGINX配置是声明性的语言。但某些情况,由于用户的需要,会尝试在if中使用一些非重写指令。 这就导致了现在的情况。它总体上是有效的,不过有一些情况可能并不如...

    2021-05-12 22:22 Falcon 阅读
  • nginx重放某个请求到另一个服务器

    为什么会有这样的需求呢?因为papay的ipn只支持一条url,而当多个网站都使用同一个paypal帐户收款,你就需要将ipn分发到多台服务器,这时就需要这种操作了,比如将 http://localhost/?stm_lms_check_ipn=1 的请求重放到 https://example.com 上。(有老外甚至为Paypal这个痛点做了付费服务?)...

    2021-05-12 21:42 Falcon 阅读