📜  入口 nginx 传递标头 (1)

📅  最后修改于: 2023-12-03 15:36:45.587000             🧑  作者: Mango

入口 Nginx 传递标头

当你需要在Nginx的入口处添加一些自定义标头时,可以使用Nginx的变量和映射模块。 在Nginx的配置中添加以下信息:

map $http_your_header $backend_host{
    default "backend.default.com";
    "myapp" "backend.myapp.com";
    "myotherapp" "backend.myotherapp.com";
}

server {
    listen 80;
    server_name yourserver.com;
    set $upstream_server $backend_host;
    if ($http_your_header ~* "myapp") {
        set $upstream_server "backend.myapp.com";
    }
    proxy_pass http://$upstream_server;
}

这个配置定义了一个映射 $http_your_header 到不同的后端主机。后端主机的默认值是 backend.default.com 。当 http_your_headermyapp 时,映射为 backend.myapp.com; 当标头为 myotherapp 时,映射为 backend.myotherapp.com

在设置中使用 set 命令将 upstream_server 映射到 $backend_host。如果 http_your_header 匹配了 myapp,则将 upstream_server 映射到 backend.myapp.com

最后,配置将 proxy_pass 代理到所选的后端服务器。

结论

使用上面的配置设置可以在Nginx的入口处添加自定义标头,提高Nginx的灵活性和功能性,为你的项目提供更多的自定义化选项。