踩坑日记-nginx server_name配置多域名的坑

这篇具有很好参考价值的文章主要介绍了踩坑日记-nginx server_name配置多域名的坑。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题介绍

项目配置了多个域名,如下,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;

更多技术文章,请关注我的个人博客 www.immaxfang.com 和小公众号 Max的技术札记文章来源地址https://www.toymoban.com/news/detail-512225.html

到了这里,关于踩坑日记-nginx server_name配置多域名的坑的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • nginx使用详解:转发规则、负载均衡、server_name

    该指令用于匹配 URL,语法如下: 指令 说明 = 用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配 成功,就停止继续向下搜索并立即处理该请求。 ~ 用于表示 uri 包含正则表达式,并且区分大小写。 ~* 用于表示 uri 包含正则表达式,并且不区分大小写。

    2024年01月17日
    浏览(50)
  • 分布式 - 服务器Nginx:基础系列之Nginx静态资源配置指令server_name | listen | location | root | alias | index| error_page

    通过浏览器发送一个HTTP请求实现从客户端发送请求到服务器端获取所需要内容后并把内容回显展示在页面。这个时候,我们所请求的内容就分为两种类型,一类是静态资源、一类是动态资源。静态资源即指在服务器端真实存在并且能直接拿来展示的一些文件,比如常见的ht

    2024年02月04日
    浏览(47)
  • nginx 配置多域名多站点 Ubuntu

    nginx 的配置文件在 /etc/nginx 目录下,它的默认内容是这样的 讲一下如何一个服务器配置多域名多站点。 多站点的实现方式有几种: 多域名、多站点 多端口、多站点 比如 a.com b.com 都指向了服务器 1.2.3.4 ,我们需要实现的是在访问这两个域名的时候出现的是不同的网站,他们

    2024年02月14日
    浏览(49)
  • yum安装nginx、源码安装、nginx开机自启、配置多域名与重定向、反向代理、配置IPv6、获取证书与配置证书https

    可以使用yum直接安装nginx:yum -y install nginx,如果安装报错,可以换个yum源试试 源码安装提供更大的灵活性,但需要更多的手动管理,而Yum安装则更方便 yum源镜像站,阿里云的推荐:https://developer.aliyun.com/mirror/ 常用的镜像:epel和centos,根据提示命令直接安装即可 然后执行:

    2024年02月20日
    浏览(70)
  • http的ssl证书保姆级配置安装-多域名 免费ssl证书 解析 nginx配置

    摘要:多个域名(mysite.com,*.mysite.com),免费证书,添加解析记录,申请证书的shell脚本,nginx配置 登录免费证书网站:https://freessl.cn/ 输入:mysite.com,*.mysite.com 选择亚洲诚信trustasia 点击“创建免费的ssl证书” ACME域名配置 域名:确认刚才输入的mysite.com,*.mysite.com无误,点击下

    2024年02月09日
    浏览(100)
  • 【Nginx】Docker配置ngnix,实现同服务器ip多站点多域名

    Docker配置ngnix,实现同服务器ip,多域名映射多站点 本文首发于 慕雪的寒舍 一般情况下,我们的域名映射到ip后,默认访问的是80端口。如果你的服务器只部署了一个服务,这样也是够用的。 但是很多项目对性能的占用并没有那么夸张,一个服务器一个站点未免有些浪费了。

    2024年02月08日
    浏览(67)
  • 配置Proxmox VE8.1开出的虚拟机网络踩坑日记

    机房里面有两个物理机。物理机A配公网IP106.58.222.100;物理机BIPIM设置为静态的192.168.1.33。 为了节约IP,所以只给物理机A配网IP,通过物理机A中开出虚拟机,使用局域网访问物理机B的IPIM,于是给物理机A是额外添加了一个外接网卡(本来是一个物理网卡)。现在硬件齐了,那

    2024年01月24日
    浏览(67)
  • nginx多域名转发

    昨天碰到nginx做多域名转发,简单总结下nginx的使用,此文只是便于开发理解,并不会涉入太深的东西。有错误的地方,还望大家多指正。 DNS DNS是Domain Name System的缩写,即域名系统。DNS是internet的一项服务,一般叫域名服务或者域名解析服务,主要是提供网站域名与ip地址的相

    2024年02月04日
    浏览(53)
  • Nginx实现多域名证书HTTPS

    实现一台服务器,两个域名。 首先需要两个域名,获取到CA证书,两个域名就得到两套证书, 然后配置nginx,如下: 效果:

    2024年02月04日
    浏览(67)
  • nginx快速部署一个网站服务 + 多域名 + 多端口

    👨‍🎓 博主简介   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊 交流社区: 运维交流社区 欢迎大家的加入! 🐋 希望大家多多支持,我们一起进步!😄 🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏

    2024年02月08日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包