×

Nginx 28 篇文章

by Falcon

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

  • 批量重命名

    ```bash #!/bin/bash # 遍历当前目录下的所有文件 for file in *.jpg; do # 获取文件名和扩展名 filename=$(basename -- "$file") echo "filename: $filename" extension="${filename##*.}" # 提取文件名中的结尾3...

    2023-12-19 16:55 Falcon 阅读
  • openresty Auto-SSL 限制只允许最多四级域名使用

    如果你想限制Auto-SSL只允许最多四级域名使用,你可以在`allow_domain`的回调函数中添加逻辑来检查域名的级别。以下是一个简单的例子: ```lua init_by_lua_block { auto_ssl = (require "resty.auto-ssl").new() auto_ssl:set("allow_...

    2023-12-13 17:52 Falcon 阅读
  • Nginx Proxy Manager 可视化面板一键安装部署方法

    1.登录VPS。 2.更新下VPS系统环境: apt update -y && apt install -y curl socat wget sudo 3.安装 Docker: curl -fsSL https://get.docker.com | sh 4.一键安装 Nginx Proxy Manager: dock...

    2023-11-18 16:08 Falcon 阅读
  • 如何让CDN为手机和桌面端分别缓存

    概述 本文概述CDN配置后支持手机和PC端的分别访问。   问题描述 网站是代码适配的网站(非响应式),PC端和移动端的URL是一致的,通过后端判断用户的UA来给用户推送不同前端模板。需要设置CDN对不同的UA做不同的缓存,实现手机访问网站跳转到Wap页面,PC端访问跳转到PC端的页面。比如nginx配置如下: location /...

    2023-02-07 17:21 Falcon 阅读
  • nginx stream realip使用

    前言 由于要开始用nginx的tcp代理,发现最终http打印出来的IP都是最后一个代理的内网IP,这就不方便去查问题了。那就依样画葫芦吧。但是发现个问题,TCP层面哪里有header头啊。还好nginx提供了stream_realip这个模块。 1 ./configure --with-http_geoip_mod...

    2022-05-23 14:24 Falcon 阅读
  • 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 阅读