nginx配置域名转发到其他域名的几种方法小结

 更新时间:2023年06月06日 10:33:05   作者:逆流°只是风景-bjhxcc  
本文主要介绍了nginx配置域名转发到其他域名的几种方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

直接用return简单方便 return URL; 显示跳转后新的网络地址

proxy_pass配置可以显示原来的网页地址

以下参考:

return 指令

  • 在重定向满足两个条件时适用:
  • 重写的 URL 适用于每个匹配的 server 或 location 的请求
  • 可以使用标准的 NGINX 变量构建重写的 URL

return 指令简单高效,建议尽量使用 return,而不是 rewrite。

return 指令放在 server 或 location 上下文中。语法很简单

return code [text];
return code URL;
return URL;
# 下面代码中,listen 指令表明 server 块同时用于 HTTP流量。
# server_name 指令匹配包含域名 ‘www.old-name.com' 的请求。return 指令告诉 Nginx 停止处理请求,直接返回 301 (Moved Permanently) 代码和指定的重写过的 URL 到客户端。
# $scheme 是协议(HTTP 或 HTTPS),$request_uri 是包含参数的完整的 URI。
server{
    listen         80;
    server_name www.old-name.com;
    # return 指令的第一个参数是响应码。第二个参数可选,可以是重定向的 URL
    # location 和 server 上下文中都可以使用 return 指令。
    return 301 $scheme://www.new-name.com$request_uri;
}

rewrite

rewrite 规则会改变部分或整个用户请求中的 URL,主要有两个用途:

通知客户端,请求的资源已经换地方了。例如网站改版后添加了 www 前缀,通过 rewrite 规则可以将所有请求导向新站点。
控制 Nginx 中的处理流程。例如当需要动态生成内容时,将请求转发到应用程序服务器。try_files 指令经常用于这个目的。

语法:
rewrite regex URL [flag];

  • flag标志位:
  • last:停止处理当前的 ngx_http_rewrite_module 指令集,并开始对匹配更改后的 URI 的新 location 进行搜索(再从 server 走一遍匹配流程)。此时对于当前 server 或 location 上下文,不再处理 ngx_http_rewrite_module 重写模块的指令。
  • break:停止处理当前的 ngx_http_rewrite_module 指令集.
  • last 和 break 的区别及共同处:
  • last 重写 url 后,会再从 server 走一遍匹配流程,而 break 终止重写后的匹配
  • break 和 last 都能阻止后面的 rewrite 指令再次执行
  • redirect:返回包含 302 代码的临时重定向,在替换字符串不以"http://","https://“或”$scheme"开头时使用.
  • permanent:返回包含 301 代码的永久重定向。
  • rewrite 指令只能返回代码 301 或 302。要返回其他代码,需要在 rewrite 指令后面包含 return 指令。

proxy_pass

proxy_pass指令中在nginx的两个模块都有

ngx_http_proxy_module的proxy_pass:

语法: proxy_pass URL;
场景: location, if in location, limit_except
说明: 设置后端代理服务器的协议(protocol)和地址(address),以及location中可以匹配的一个可选的URI。协议可以是"http"或"https"。地址可以是一个域名或ip地址和端口,或者一个 unix-domain socket 路径。

详见官方文档: http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass

ngx_stream_proxy_module的proxy_pass:

语法: proxy_pass address;
场景: server
说明: 设置后端代理服务器的地址。这个地址(address)可以是一个域名或ip地址和端口,或者一个 unix-domain socket路径。
详见官方文档: http://nginx.org/en/docs/stream/ngx_stream_proxy_module.html#proxy_pass

两个proxy_pass的关系和区别:

  • 在两个模块中,两个proxy_pass都是用来做后端代理的指令.
  • ngx_stream_proxy_module模块的proxy_pass指令只能在server段使用,只需要提供域名或ip地址和端口,可以理解为端口转发,可以使tcp端口,也可以是udp端口.
  • ngx-http-proxy-module模块中的proxy_pass指令需要在location段,location中的if段,limit_except段中使用,处理需要提供域名或ip地址和端口外,还需要提供协议.如 “http” 或 “https”,还有一个可选的url可以配置.

proxy_pass使用详解: 现在使用 http://test.yeguxin.top/proxy/aaa/bbb.text

第一种: 绝对路径.    proxy_pass http://127.0.0.1:8080; 后面8080没有 “/”

第二种:相对路径.    proxy_pass http://127.0.0.1:8080; 后面8080有 “/”

第三种    proxy_pass http://127.0.0.1:8080/static; 后面static没有 “/”

第四种    proxy_pass http://127.0.0.1:8080/static; 后面static有 “/”

最基本proxy_pass 用法

 server {
    listen      80;
    server_name chat.paas.scorpio.uat.newtank.cn;
     # 转发请求到 http://www.example.com
    location / {
        proxy_pass http://www.example.com;
    }
}

到此这篇关于nginx配置域名转发到其他域名的几种方法小结的文章就介绍到这了,更多相关nginx配置域名转发内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Nginx 中文域名配置详解及实现

    Nginx 中文域名配置详解及实现

    这篇文章主要介绍了Nginx中 文域名配置详解及实现的相关资料,Nginx虚拟主机上绑定一个带中文域名但是不能跳转,这里给大家说下如何实现,需要的朋友可以参考下
    2016-12-12
  • 详解Nginx服务器中map模块的配置与使用

    详解Nginx服务器中map模块的配置与使用

    这篇文章主要介绍了Nginx服务器中map模块的配置与使用,文中同时给出了ngx_http_map_module模块的map命令用于制作服务器限速白名单的示例,需要的朋友可以参考下
    2016-01-01
  • nginx+lua+redis 灰度发布实现方案

    nginx+lua+redis 灰度发布实现方案

    在微服务化进程中,利用nginx+lua+redis实现灰度发布至关重要,,通过nginx+lua反向代理,根据客户端ip进行路由控制,配合redis存储允许访问微服务的ip地址,可以有效地进行用户分流,感兴趣的可以了解一下
    2024-10-10
  • nginx mirror 流量镜像的具体使用

    nginx mirror 流量镜像的具体使用

    流量镜像可以将实时流量的副本发送给被镜像的服务,本文主要介绍了nginx mirror 流量镜像的具体使用,具有一定的参考价值,感兴趣的可以了解一下
    2024-08-08
  • 一文带你搞懂Nginx如何处理请求

    一文带你搞懂Nginx如何处理请求

    Nginx(Engine X)是一个高性能的HTTP和反向代理服务器,本文将从原理、代码以及示例来深入分析 Nginx如何处理请求,希望对大家有所帮助
    2024-11-11
  • nginx安装第三方模块的方法

    nginx安装第三方模块的方法

    这篇文章主要介绍了nginx安装第三方模块的方法,包含在未安装nginx的情况下安装nginx第三方模块和在已安装nginx情况下安装nginx第三方模块,需要的朋友可以参考下
    2014-06-06
  • nginx 伪静态化rewrite规则

    nginx 伪静态化rewrite规则

    用Nginx的朋友可以参考,加到nginx.conf相应主机server段配置中即可!
    2009-10-10
  • Nginx/Apache服务器SSL证书自动化部署与续期实战教程

    Nginx/Apache服务器SSL证书自动化部署与续期实战教程

    文章主要介绍了手动管理SSL证书的繁琐和风险,特别是证书过期导致的业务中断,文章介绍了如何使用ACME协议和Certbot工具实现Nginx和Apache的自动化部署与续期,感兴趣的朋友一起看看吧
    2026-04-04
  • 使用Nginx反向代理与proxy_cache缓存搭建CDN服务器的配置方法

    使用Nginx反向代理与proxy_cache缓存搭建CDN服务器的配置方法

    linux下通过Nginx反向代理和proxy_cache缓存搭建CDN服务器加快Web访问速度的配置方法
    2013-06-06
  • Nginx HTTPS代理大文件加载失败的排查与解决方案

    Nginx HTTPS代理大文件加载失败的排查与解决方案

    本文基于一次生产环境中的实际案例,详细解析了Nginx代理配置不当导致HTTPS访问下前端资源加载失败的问题,通过日志分析、参数调优和原理说明,为开发者提供完整的排查思路与解决方案,需要的朋友可以参考下
    2025-12-12

最新评论