记录:nginx Proxy Cache方面的学习资料
1.Nginx Proxy Cache分析:
https://www.iteye.com/blog/bollaxu-888748
2.18个运维必知的Nginx代理缓存配置技巧:
https://www.jb51.net/article/171212.htm
3.Nginx隐藏主机信息,proxy_hide_header 与fastcgi_hide_header:
https://www.cnblogs.com/linkenpark/p/7283177.html
4.nginx配置使用, 入门到实践
https://www.cnblogs.com/quzq/p/12131696.html
5.nginx proxy_cache 缓存配置大全
https://blog.csdn.net/zhangjunli/article/details/80732994
6. HTTP访问控制(CORS)
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS
7.Access control CORS
https://cloud.tencent.com/developer/section/1189824
8.nginx通过CORS实现跨域
https://www.cnblogs.com/sunmmi/articles/5956554.html
9.在nginx中配置proxy_pass代理转发时,如果在proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走。
假设下面四种情况分别用 http://192.168.1.1/proxy/test.html 进行访问。
第一种:
location /proxy/ {
proxy_pass http://127.0.0.1/;
}
代理到URL:http://127.0.0.1/test.html
第二种(相对于第一种,最后少一个 / )
location /proxy/ {
proxy_pass http://127.0.0.1;
}
代理到URL:http://127.0.0.1/proxy/test.html
第三种:
location /proxy/ {
proxy_pass http://127.0.0.1/aaa/;
}
代理到URL:http://127.0.0.1/aaa/test.html
第四种(相对于第三种,最后少一个 / )
location /proxy/ {
proxy_pass http://127.0.0.1/aaa;
}
代理到URL:http://127.0.0.1/aaatest.html
10,
location / {
#禁止Scrapy等工具的抓取
if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {
return 403;
}
#禁止指定UA及UA为空的访问
if ($http_user_agent ~* "FeedDemon|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|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms|^$" ) {
return 403;
}
#禁止非GET|HEAD|POST方式的抓取
if ($request_method !~ ^(GET|HEAD|POST)$) {
return 403;
}
index index.php index.html index.htm;
#如果请求既不是一个文件,也不是一个目录,则执行一下重写规则
if (!-e $request_filename) {
#地址作为将参数rewrite到index.php上,让路由支持pathonfo模式。
rewrite ^/(.*)$ /index.php?s=$1 last;
#若是子目录则使用下面这句,将subdir改成目录名称即可。
#rewrite ^/subdir/(.*)$ /subdir/index.php?s=$1;
}
client_max_body_size 100m;
#禁止访问的文件或目录
location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
{
return 404;
}
}