找回密码
 加入怎通
查看: 188|回复: 4

Nginx 一些配置备忘(nginx常见配置)

[复制链接]
我来看看 发表于 2023-03-19 15:04:20 | 显示全部楼层 |阅读模式
1 c+ n7 c" h9 ^& S

主配置中加入了时区,目的是输出日志时区默认为东八区env TZ=Asia/Shanghai;加入空主机头,防止直接用IP访问网站server { / b9 R5 d' N0 i5 @) D# J listen 80 default;3 [6 |9 a, V6 F5 X3 X return 500;3 u2 O1 c u9 m! Z% f0 k( R }

1 f* G- d; a0 {( Y5 w

日志记录真实IPlog_format main $remote_addr - $remote_user [$time_local] "$request" 5 p4 S/ x" s% Q0 _) I $status $body_bytes_sent "$http_referer" 0 b) u; l4 n8 D, ?( l6 f+ o "$http_user_agent" "$http_x_forwarded_for";

, H3 i2 C1 q" W/ @: C

开启目录列表显示autoindex on; + i: t7 C: S; B7 b9 D2 z autoindex_localtime on;location相关正则/ 匹配所有请求,所以其他请求如果都不匹配,就会匹配到这里# _# B8 D1 n9 \% C2 w! h6 S = 严格匹配,不区分大小写,如果匹配到此块,立即处理请求8 J( n2 R$ a7 [ X6 p& |; W ~ 区分大小写匹配,匹配后继续搜索,直到没有匹配为止 * h6 P% l+ b O/ K w" K2 M ! 叹号表示不匹配 5 v5 }$ c& w: y ~* 不区分大小写匹配,匹配后继续搜索,直到没有匹配为止9 Q9 O8 x$ c0 C8 X y$ H" G ^~ 普通匹配,匹配到后停止搜索,很适合做访问控制

% z( M0 u( e8 _0 ]' S6 x

防爬虫防盗链if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) 9 a. }" ?% V# K* M { 9 X7 J' P. i( D# S Z return 403; 0 |$ Z: d% B( v! {9 n( V" S7 e } * `6 \& u- N5 U0 L7 } #禁止指定UA及UA为空的访问) C; T; W3 g* @ ` if ($http_user_agent ~ "FeedDemon|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|YisouSpider|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms|^$" )! @ M) v4 A" c2 C6 N, } {6 Y3 [5 F* M! s* k return 403; . {; r, L G/ |/ g4 A } 2 ]2 b) c$ a4 Z6 b #禁止非GET|HEAD|POST方式的抓取 & }& i2 F/ y. K; H/ k3 k if ($request_method !~ ^(GET|HEAD|POST)$) " Y" s5 Q" Y- F4 T2 g0 ~ {- o# A8 ?1 o2 ]8 v8 o i return 403;5 V1 H( s$ w& j! f1 H, b5 d }

' E# v4 B* \" n( y% p6 M8 t$ N

防盗链,匹配图片请求,然后判断referer,如果为空,lvtao.net域名,Google或百度爬虫,则放行,否则return 403如果强硬一点,none可以去掉location ~* \.(gif|jpe?g|png|swf|flv|rar|zip|bmp|mp3|swf)$ {# A' O" X3 l# Z% B6 n valid_referers none blocked *.lvtao.net server_names ~\.google\. ~\.baidu\.; ( x1 ~/ y% H5 w" o* S if ($invalid_referer) {5 j- t% K6 j) T6 r return 403; 2 I* C# [" I; C: q) @: m } + p* Q" o( D& q1 { }。

: \; w% r! f# }" @* T

软连接alias /home/wwwroot/;跳转# 80端口重定向到443 / ^0 z3 a# N' ?5 H/ ~& \ server{ ; J: I2 L, U1 E$ j4 s+ H% @6 G3 M$ l/ A listen 80;7 R* s1 N# t/ K! s- n server_name www.lvtao.net;8 P0 d# \; R8 h1 V n0 A( o rewrite ^(.*)$ https://$host$1 permanent;' s- Z3 A9 F2 p5 H } + N. y9 y2 I5 V* k/ X$ _ # www指向没www的 # u: A8 q3 V8 h( I% I: G' s$ n server{% P! V5 [7 o0 W- I listen 80;7 Q" ?1 Q$ ~2 H5 z1 H: {# ], I server_name www.lvtao.net lvtao.net;: U: o; @2 Q% o2 ?- B$ W* L) z return 301 http://lvtao.net$request_uri; 4 y! D3 e7 X: ]/ L5 @! p }

; G7 K( I7 z1 ]/ e' F ^

常用正则. : 匹配除换行符以外的任意字符1 ~9 f( f+ b1 H/ y5 o$ h _3 x6 g ? : 重复0次或1次0 E5 A& \: {; v0 Y( }0 ^% P + : 重复1次或更多次/ X: t( P) y' a8 i2 Y& i8 V7 \3 ] * : 重复0次或更多次! v; }" M* R1 A9 M! C+ N4 c0 ] \d :匹配数字$ `0 Q o2 K. Z$ ` ^ : 匹配字符串的开始. }) V/ b7 c) K" |! G $ : 匹配字符串的介绍 / [4 ?0 _) }; B/ ]3 s: `1 A9 _0 Q1 a {n} : 重复n次 B! ?9 x" F% |- E+ N Q; d1 R1 v6 t {n,} : 重复n次或更多次 , q9 w% ?: f$ v. ?' D5 J% J3 { [c] : 匹配单个字符c; l0 k) i4 Z7 W* t q# R [a-z] : 匹配a-z小写字母的任意一个

: z7 F+ G$ ^0 i9 X* D- M3 u; ?$ K9 q8 k& |2 } ! @" G' g- P* H0 A) g, L- W( T, E7 s4 \ c1 b. \ o8 S # K9 n3 c" h: Z. L4 e

暂时无法加载帖子列表

回复

使用道具 举报

2865084310 发表于 2026-10-01 09:07:37 | 显示全部楼层
学习到了,之前一直没注意过这个点,受教了
回复

使用道具 举报

dpjanebass 发表于 2026-10-11 21:28:13 | 显示全部楼层
这个思路很新颖,打开了新世界的大门,谢谢分享
回复

使用道具 举报

shi238 发表于 2026-10-15 13:36:25 | 显示全部楼层
内容很干货,没有多余的废话,值得反复看
回复

使用道具 举报

yuyue 发表于 2026-10-19 17:25:43 | 显示全部楼层
这个分享太实用了,刚好能用到,感谢楼主!
回复

使用道具 举报

    您需要登录后才可以回帖 登录 | 加入怎通

    本版积分规则

    QQ|手机版|小黑屋|网站地图|真牛社区 ( 苏ICP备2023040716号-2 )

    GMT+8, 2026-10-31 09:43 , Processed in 0.039169 second(s), 25 queries , Gzip On.

    免责声明:本站信息来自互联网,本站不对其内容真实性负责,如有侵权等情况请联系420897364#qq.com(把#换成@)删除。

    Powered by Discuz! X3.5

    快速回复 返回顶部 返回列表