加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

在nginx重写中发送额外的标头

发布时间:2020-12-13 21:30:30 所属栏目:Nginx 来源:网络整理
导读:现在,我正在使用以下nginx配置将我的应用程序域从app.example.com迁移到app.newexample.com: server { server_name app.example.com; location /app/ { rewrite ^/app/(.*)$http://app.newexample.com/$1; }} 我需要显示一个popup-banner来通知用户域名迁移

现在,我正在使用以下nginx配置将我的应用程序域从app.example.com迁移到app.newexample.com:

server {
    server_name app.example.com;
    location /app/ {
        rewrite ^/app/(.*)$http://app.newexample.com/$1;
    }
}

我需要显示一个popup-banner来通知用户域名迁移.
我想基于推荐者或app.newexample.com上的某种其他标题

但是如何在上面的重写中附加一个额外的标题,以便javascript检测到该标题并仅在该标题存在时显示标题因为用户直接在app.newexample.com上看不到该弹出标题?

最佳答案
问题是,当你“重写”到具有协议和主机名的URI(在你的情况下是http://app.newexample.com/)时,Nginx会发布公平的HTTP重定向(我猜代码将是301又称“永久”重定向“).这使您只有两种机制将任何信息传输到新URL的处理程序:

>饼干
> URL本身

由于您要将用户重定向到新域,因此cookie不会发生.但即使在通用域的情况下,我也会选择URL来传输这种信息,比如

server_name app.example.com;
location /app/ {
    rewrite ^/app/(.*)$http://app.newexample.com/$1?from_old=yes;
}

这使您可以自由地在Nginx或浏览器中进行处理(使用JavaScript).您甚至可以在新应用服务器Nginx配置中为JavaScript发出特殊的HTTP标头:

server_name app.newexample.com;
location /app {
  if ($arg_from_old) {
    add_header X-From-Old-Site yes;
  }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读