首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >自动虚拟主机-单个Nginx配置

自动虚拟主机-单个Nginx配置
EN

Server Fault用户
提问于 2021-06-27 20:24:53
回答 1查看 218关注 0票数 0

我正试图根据一个目录为多个主机创建一个单一的Nginx配置。我遵循了一个指南,它似乎很适合标准HTTP设置,但是当我添加HTTPS 301重定向时,可能会出现“无效重定向”错误。对此有什么想法吗?下面是我的配置。发送

代码语言:javascript
运行
AI代码解释
复制
server {
  listen x.x.x.x:80;

  server_name ~^(?.+?).domain.com$;

  return 301 https://$server_name$request_uri;

}

server {
    listen x.x.x.x:443 ssl default_server;
    server_name ~^(?.+?).domain.com$;


root /var/web/$sname;

index index.html index.htm index.php;


charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }


ssl_certificate /etc/letsencrypt/live/wildcard.domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/wildcard.domain.com/privkey.pem;

access_log /var/log/nginx/$sname-access.log;
error_log  /var/log/nginx/wildcard-error.log debug;

error_page 404 /index.php;

    sendfile off;

        location ~ \.php {
                include fastcgi.conf;
                #fastcgi_index index.php;
                include cors_support;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
        }
        location ~ /\.ht {
                deny all;
        }
  location /.well-known {
    root /var/www/html;
  }
}
EN

回答 1

Server Fault用户

发布于 2021-06-28 03:19:48

您的重定向是“无效的”,因为您试图重定向到https://~^(?.+?).domain.com$,这显然是无效的。

为何会这样呢?

您选择按以下方式编写重定向:

代码语言:javascript
运行
AI代码解释
复制
  return 301 https://$server_name$request_uri;

这没道理。server_name不是有效的主机名。

相反,您应该重定向到用户代理使用的同一台主机。在那里使用的正确变量$host,而不是$server_name

代码语言:javascript
运行
AI代码解释
复制
  return 301 https://$host$request_uri;
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1068027

复制
相关文章
nginx虚拟主机配置
虚拟主机的概念 虚拟主机,就是把一台物理服务器划分成多个“虚拟”的服务器,每一个虚拟主机都可以有独立的域名和独立的目录 nginx虚拟主机的配置 nginx的虚拟主机就是通过nginx.conf中server节点指定的,想要设置多个虚拟主机,配置多个server节点即可 先看一个最简单的虚拟主机配置示例 server { listen 80; server_name a.test.com; location / { i
dys
2018/04/02
6.7K0
Nginx虚拟主机配置
虚拟主机就是使用特殊的软硬件技术,把一台计算机主机分成多台“虚拟”的主机,每一台虚拟主机都具有独立的域名和IP地址(或共享的IP地址),具有完整的Internet服务器功能。在同一台硬件、同一个操作系统上,运行着为多个用户打开的不同的服务器程序,互不干扰;而各个用户拥有自己的一部分系统资源(IP地址、文件存储空间、内存、CPU时间等)。 其实说白了就是有一套大房子,然后给这个房子加上隔断,分成几个小屋,然后每个小屋都租赁给一个商户,每个商户之间都是相互不受影响的,相互独立的。
令仔很忙
2018/09/14
6.5K0
Nginx配置虚拟主机
server { listen 80; server_name 0377joyous.com;#域名,可以用空格分开 index index.html index.htm index.php;#引导页,可以用空格分开 root /var/www/0377joyous.com;#网站根目录 log_format demo.phpfs.com ‘$remote_addr – $remote_user [$time_local] $request’ ‘$status $body_bytes_sent $
苦咖啡
2018/05/08
4.1K0
Nginx虚拟主机配置
在Nginx中虚拟主机配置有多种方法:可以直接在主配置文件(Nginx.conf)中增加,也可以将所有的虚拟主机单独写一个文件然后在主配置段中包含进去(include 文件名),最后一种方法是每个虚拟主机都为一个单独的配置文件。本篇以第三种方法来做演示
星哥玩云
2022/07/03
1.5K0
Nginx虚拟主机配置
Nginx中虚拟主机配置
1、修改宿主机的hosts文件(系统盘/windows/system32/driver/etc/HOSTS)
HUC思梦
2020/09/03
2.1K0
在Puppet中用ERB模板来自动配置Nginx虚拟主机
模板文件是在puppet模块下面templates目录中以”.erb”结尾的文件,puppet模板主要用于文件,例如各种服务的配置文件,相同的服务,不同的配置就可以考虑使用模板文件,例如Nginx和Apache的虚拟主机配置就可以考虑采用ERB模板,nginx的安装在这里建议用系统内部自带的YUM源来安装或其它第三方YUM源来安装,如果是用Nginx的官方源来安装nginx的话,我们可以查看下/etc/yum.repos.d/nginx.repo文件内容,如下所示:
星哥玩云
2022/07/04
9570
Nginx实现多虚拟主机配置
1.在主网卡中添加一个辅助ip,点击添加分配内网ip,内网IP可手动或选择自动分配
逸轩
2021/12/16
1.5K0
CentOS 7.3配置Nginx虚拟主机
http://192.168.204.135:8081/ http://192.168.204.135:8082/
星哥玩云
2022/07/25
4800
CentOS 7.3配置Nginx虚拟主机
Nginx虚拟主机、日志排错、模块配置
目录 Nginx虚拟主机 1. 基于多IP的方式 2. 基于多端口的方式 3. 基于多域名的方式 Nginx日志 Nginx配置文件配置项 Nginx模块 Nginx访问控制模块 Nginx状态监控模块 访问连接控制模块 Nginx虚拟主机 三种方式 1. 基于多IP的方式 # 防止其他配置文件影响,将所有配置文件压缩 [root@web01 conf.d]# gzip Mario.conf [root@web01 conf.d]# gzip chess.conf.gz [root@web01 c
HammerZe
2022/03/25
4160
Nginx虚拟主机、日志排错、模块配置
Nginx配置基于端口号配置虚拟主机
server 块中完成虚拟主机的设置,listen 命令监昕端口。 因此,若要在 Nginx 中配置一个虚拟主机,只需在 http 块中添加一个 server 块即可 。 换句话说, http 块中的每个 server 块都是一个虚拟主机。
兮动人
2021/06/11
9590
Nginx配置基于端口号配置虚拟主机
nginx服务器配置虚拟主机
对于虚拟主机的配置可以在nginx.conf里面配置或者vhosts.conf下,由于vhost.conf便于管理我们在这个文件夹下进行配置虚拟主机
十月梦想
2018/08/29
3.9K0
Nginx(二)-- 配置文件之虚拟主机配置
1) 在nginx/conf/nginx.conf文件中的http段中添加一个server,如下所示:
码农小胖哥
2019/12/09
6780
CentOS7.2与Nginx配置虚拟主机
centos安装nginx的文章在前期有发过。。。这里就不再详解,不懂可以查找资料的
php007
2019/08/05
7640
CentOS7.2与Nginx配置虚拟主机
LNMP架构应用实战——Nginx配置虚拟主机
前面介绍了nginx服务的安装与配置文件,今天介绍下它的另一种实用配置——“虚拟主机”,每个虚拟主机可以是一个独立的网站,可以具有独立的域名,同一台服务器上的不同的虚拟主机之间是独立的,用户访问不同虚拟主机如同访问不同的服务器一样,因此它不需要为一个单独的WEB站点提供单独一个nginx服务器和一个单独的nginx进程
民工哥
2020/09/16
6600
LNMP架构应用实战——Nginx配置虚拟主机
window下phpstudy的nginx配置虚拟主机
由于很长时间没有配置Apache,虽然说知道怎么配置nginx,但是还是花费了一些时间这次记下来下次直接用
全栈程序员站长
2022/07/07
6940
window下phpstudy的nginx配置虚拟主机
nginx配置基于端口、域名的虚拟主机
首先,进入主机电脑的C:\Windows\System32\drivers\etc目录 找到hosts文件,以管理员身份打开 添加172.16.11.82 www.yuancao.com 这里172.16.11.82是我的虚拟机ip,www.yuancao.com是我要给这个ip安排的域名
宸寰客
2020/07/15
3.5K0
Apache、Nginx和Tomcat之虚拟主机配置
ErrorLog "/var/www/logs/test.com-error_log"
菲宇
2022/12/21
7440
Nginx基于IP,端口,域名配置虚拟主机
Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。Nginx同Apache httpd一样,Nginx也提供基于IP,基于端口以及域名方式的形式来配置虚拟主机。 一、什么是虚拟主机 虚拟主机是使用特殊的软硬件技术,把一台真实的物理服务器主机分割成多个逻辑存储单元。每个逻辑单元都没有物理实体,但是
Leshami
2018/08/13
3.9K0
Nginx批量创建虚拟主机自动化脚本
[root@localhost ~]# vim auto_config_nginx_virtual_host.sh
用户8449980
2021/07/12
6740
nginx+tomcat单个域名及多个域名配置
项目开发接近尾声,开始着手在生产环境部署项目,开发阶段部署项目都没用nginx。项目是采用SOA架构,多系统开发,主要包括服务系统、中台系统、后台系统、金融系统、接口系统、调度系统、报表系统等。这类分布式的系统,一般也都会用到nginx来做负载均衡。 从公司刚成立就进来,赶鸭子上架来做架构师,负责公司的所有研发事情,搭建公司的整个技术架构,起初的所有核心业务代码基本都由自己亲自把关来进行编码。系统也从最初的只有一个pc端,发展到如今pc中台、后台、android端3个app、iOS端3个app,产品越做越多
猿人谷
2018/01/17
5.4K0

相似问题

Nginx多个虚拟主机配置

10

如何将nginx配置为除apache之外的单个命名虚拟主机

10

将nginx配置为自动配置

10

使用Nginx虚拟主机时如何配置Unicorn

10

nginx虚拟主机

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档