Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nginx 四级子域转发_Nginx - Fatal编程技术网

Nginx 四级子域转发

Nginx 四级子域转发,nginx,Nginx,我最近一直在尝试设置一个反向代理,将某些第四级子域转发到特定位置。例如,这就是我试图实现的目标(在我的nginx文件中进行配置): 这里的目标是,如果有人去,例如,他们将被重新路由到。但是,使用此配置,URL将被重写为 是否有办法解决此问题,以便将完整域(item1)正确添加到重写的URL?理想情况下,我希望它最终能够将server.domain.com上的任何子域直接重写为https 谢谢 变量$server\u name包含来自server\u name指令值的文本。%2A是前导*的URL编

我最近一直在尝试设置一个反向代理,将某些第四级子域转发到特定位置。例如,这就是我试图实现的目标(在我的nginx文件中进行配置):

这里的目标是,如果有人去,例如,他们将被重新路由到。但是,使用此配置,URL将被重写为

是否有办法解决此问题,以便将完整域(item1)正确添加到重写的URL?理想情况下,我希望它最终能够将server.domain.com上的任何子域直接重写为https


谢谢

变量
$server\u name
包含来自
server\u name
指令值的文本。
%2A
是前导
*
的URL编码表示

使用
$host
$http\u host
获取客户端实际请求的主机名。更多信息,请参阅

例如:

server {
    listen 80;
    server_name *.server.domain.com;
    return 301 https://$host$request_uri;
}

注意:重新启动nginx,并在每次测试之间清除浏览器缓存。使用
nginx-T

检查配置,使用
$host
而不是
$server\u name
。您也尝试过,结果相同。仍然被重定向到https://%2A.server.domain.com/
server {
    listen 80;
    server_name *.server.domain.com;
    return 301 https://$host$request_uri;
}