首页 > 系统相关 >nginx server_name配置多域名的坑

nginx server_name配置多域名的坑

时间:2023-11-01 21:24:23浏览次数:35  
标签:name demo SERVER nginx 域名 server com

问题介绍

项目配置了多个域名,如下,php 代码中有获取 $_SERVER['SERVER_NAME'] 的值

server {
	server_name a.demo.com b.demo.com;
    ...
}

  

当访问 a.demo.com 时,其获取的值是符合预期的。但是当访问 b.demo.com 时,其获取的值还是 a.demo.com,导致代码中的判断出现错误。

问题分析
当 nginx 的一个 server 节点下,server_name 配置多个域名时,$server_name 变量的值是配置的第一个域名。结合上面我们的配置,此时我们的 $server_name 值为 a.demo.com。

解决方案
方案 1,将多个域名配置在不同的 server 段下(推荐)。
例如上面的配置,可以改成如下:

server {
	server_name a.demo.com;
    ...
}
server {
	server_name b.demo.com;
    ...
}

  

  • 方案 2,修改 nginx 的 SERVER_NAME 值,使用 $host 变量。
# 默认
fastcgi_param SERVER_NAME $server_name;
# 修改为
fastcgi_param SERVER_NAME $host;

  

标签:name,demo,SERVER,nginx,域名,server,com
From: https://www.cnblogs.com/pythonClub/p/17804133.html

相关文章

  • 904-907 Prometheus自动发现机制 kube-state-metrics和metrics-server Prometheus监
    一、Prometheus自动发现机制服务发现机制:为了实现自动将被监控目标添加到PermethusPrometheus数据源的配置分为静态配置和动态发现,常见为以下几类:static_configs:静态服务发现,即将配置直接写到配置文件或Configmapfile_sd_config:文件服务器发现,创建一个专门配置target的配置文......
  • Server-Worker 模式
    常见并发编程模式,用于构建服务器应用程序和处理并发请求。也称:"Master-Slave"模式或"Producer-Consumer"模式具体实现方式可以有所不同,但思想一致。这种模式的两种角色:服务器(Server)或主控(Master):负责接收、处理和分发任务。监听来自客户端或请求队列的请求,并将这些请求分发......
  • Python:报错——ModuleNotFoundError: No module named 'encodings'
    运行Python报错:FatalPythonerror:Py_Initialize:unabletoloadthefilesystemcodecModuleNotFoundError:Nomodulenamed'encodings' 处理步骤:1.Files>>>Setting>>>Project>>>PythonInterpreter >>>AddInterpret......
  • Namenode HA原理
    1.背景在Hadoop2.0前,NameNode存在单点问题,造成服务稳定性差。Hadoop2.0后,引入HA机制,通过zk选举的方式选举active节点提供服务。在https://blog.51cto.com/u_15327484/7850359一文中,介绍过resourmanager高可用过程。NameNodeHA在选举流程上和resourmanager一致,但是,为了降低复杂......
  • IntersectionObserver(交叉观察器)懒加载
    1.IntersectionObserver 接口(从属于 IntersectionObserverAPI)提供了一种异步观察目标元素与其祖先元素或顶级文档视口(viewport)交叉状态的方法。其祖先元素或视口被称为根(root) 2.监听目标元素与其祖先或视窗交叉状态的手段,其实就是观察一个元素是否在视窗可见3.constint......
  • 双层while嵌套循环导致 500internal server error
    在编写从文本文件中提取有用信息的过程中,使用到了双层while嵌套循环(其实内循环就是8,9次数据处理,时间复杂度并不高,为O(n))。奇怪现象:第一次进入内层while循环,函数会成功执行,但是不能正确退出,且浏览器页面不显示任何内容,只是一个劲儿地转圈圈,随后(大约6,7秒钟之后,会出现:500internals......
  • Nginx 安全日志分析可视化
    之前介绍过ModSecurity这款优秀的开源WAF,它是一个入侵检测与阻止的引擎,原本是Apache的一个模块,现在可作为单独模块编译添加到Nginx服务中虽然这款WAF很优秀,但是使用起来并没有那么容易,之前也整理了文章介绍它的原理和规则,然而还有一个问题,就是它的日志分析,之前介绍原理规则......
  • Nginx零成本 易操作实现网站视频加速
    最近有朋友做了个网站,网站上面放了几个视频,觉得视频播放慢、卡顿,想让我帮忙优化下,今天就介绍个零成本,操作又简单的方法优化网站上视频播放速度目前很多人网站上放视频,除了用第三方视频平台连接,比如腾讯、优酷、爱奇艺、B站等的视频连接,就是直接将mp4格式的视频放网站目录下,直接嵌入......
  • [931] arcpy - buffer, delete shp and rename shp
    Thescriptisasfollows:arcpy.analysis.Buffer("siteboundary.shp","siteboundary1.shp","-5Centimeters","FULL","ROUND","NONE",None,"GEODESIC")arcpy.management.Delete("siteboundary......
  • VMware vCenter Server 8.0U2a 发布下载 - 集中式管理 vSphere 环境
    VMwarevCenterServer8.0U2a发布下载-集中式管理vSphere环境请访问原文链接:https://sysin.org/blog/vmware-vcenter-8-u2/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgVMwarevCenterServer是一款高级服务器管理软件,提供了一个集中式平台来控制vSphere......