首页 > 系统相关 >【转】nginx调优之使用return代替rewrite做重定向

【转】nginx调优之使用return代替rewrite做重定向

时间:2023-01-09 19:11:26浏览次数:62  
标签:... return rewrite uri nginx https

使用return代替rewrite做重定向

转自:https://www.jianshu.com/p/26dc6c2b5f43

原文地址:https://github.com/trimstray/nginx-admins-handbook/blob/master/doc/RULES.md#beginner-use-return-directive-instead-of-rewrite-for-redirects

更多nginx文档:https://weiliang-ms.github.io/nginx/
更多linux相关文档:https://weiliang-ms.github.io/wl-awesome/

解释说明

  1. NGINX中重写url的能力是一个非常强大和重要的特性,从技术角度讲returnrewrite均能实现。
    但使用return相对rewrite更简单和更快,因为计算RegEx会产生额外的系统开销。
  2. Return指令可以立即停止处理请求(它直接停止执行)并将指定的代码返回给客户端,省略了正则计算的流程。
  3. 如果你需要用regex验证URL或者需要获取原始URL中的元素(显然不在相应的NGINX变量中),那么你应该使用rewrite

使用样例

  • 不建议实现方式
server {

...

location / {

    try_files $uri $uri/ =404;

    rewrite ^/(.*)$ https://example.com/$1 permanent;

}

...

}
  • 建议实现方式
server {

  ...

  location / {

    try_files $uri $uri/ =404;

    return 301 https://example.com$request_uri;

  }

  ...

}

标签:...,return,rewrite,uri,nginx,https
From: https://www.cnblogs.com/tc310/p/17038289.html

相关文章

  • CTOS NGINX绑定域名转发到DOCKER
    server{listen80default_server;listen[::]:80default_server;#SSLconfiguration##listen443ssldefault_server;......
  • NGINX基本编译安装和配置绑定域名或者默认路径页面
    tar-xvfnginx-1.21.4.tar.gzlscdnginx-1.21.4lsyum-yinstallpcrepcre-develyum-yinstallopenssl-devel#也可以去掉-add-module的东西./configure--user=nginx-......
  • nginx用TCP转发HTTP
    stream{upstreamsocket_proxy{hash$remote_addrconsistent;server127.0.0.1:80weight=5max_fails=3fail_timeout=120s;}server{......
  • nginx_扩容提升吞吐量
    扩容方式单机垂直扩容:硬件资源增加水平扩展:集群化细粒度拆分:分布式 1.数据分区 2.上游服务SOA化 3.入口细分 1.浏览器 2.移动端原生App 3.H5内嵌式应用 4.数......
  • [VueJsDev] 日志 - nginxConfig 配置文件备份
    [VueJsDev]目录列表https://www.cnblogs.com/pengchenggang/p/17037320.htmlnginxConfig配置文件备份:::details目录目录nginxConfig配置文件备份Step.1:服务器......
  • Nginx多级反向代理下的IP透传
    透传IP为何要做透传IP在使用了CDN做加速站点静态资源加速后,当用户请求的静态资源没能命中,此时CDN会到源站请求内容,那么此时访问源站的IP为CDN节点的IP,不仅如此,可能经我们......
  • nginx 配置443 域名
    1申请域名(公有云)2下载证书pemkey并上传服务器指定目录3公有云上做A记录解析(解析到代理的nginx)4nginx配置443模块配置内容:server{listen80;......
  • Nginx在CDN加速之后,获取用户真实IP做并发访问限制的方法
    最近一直在帮一个购买了张戈博客付费服务的朋友做网站防护,为了简单抵挡一下竞争对手的DDoS攻击,他给网站开启了Incapsula的免费CDN服务。开启CDN之后,我之前给他写的......
  • Nginx配置中的log_format用法梳理(设置详细的日志格式)
    nginx服务器日志相关指令主要有两条:一条是log_format,用来设置日志格式;另外一条是access_log,用来指定日志文件的存放路径、格式和缓存大小,可以参加ngx_http_log_module。一......
  • 阿里云SLB后Nginx、Tomcat获取真实IP
    一、SLB后Nginx如何获取真实IP前提:nginx作为slb获取真实ip是使用http_realip_module,默认一键安装包安装的nginx没有安装这个模块需要重新重新编译nginx并加装。查看......