首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用HTTPS重写通配符域

用HTTPS重写通配符域
EN

Stack Overflow用户
提问于 2016-12-15 06:45:31
回答 1查看 2.3K关注 0票数 3

是否可以在nginx中重写HTTPS通配符域,还是应该为每个域创建多个结构/file?

让我说我有:

代码语言:javascript
复制
1. subdomain1.domain.com
2. subdomain2.domain.com

如果我没有HTTPS,我使用了以下功能,效果很好:

代码语言:javascript
复制
server {
 listen 443;
server_name *.domain.com;
charset utf-8;
}

不,如果我使用HTTPS,我必须编写如下所示的新块(使用letsencryt)

以下只是一个测试域(只有一个域)

代码语言:javascript
复制
 server {
    server_name test.me;
    rewrite ^ https://test.me$request_uri? permanent;
}

server {
    listen 443;
    server_name test.me;
    charset utf-8;
    ...
 }

对多个域也可以这样做吗?服务器{ server_name .domain.com;重写^.domain.com永久;}

代码语言:javascript
复制
server {
    listen 443;
    server_name *.domain.com;
    charset utf-8;
    ...
 }

我尝试了上面的配置,但是它不起作用,它将我重定向到

代码语言:javascript
复制
https://%2A.domain.com.domain.com/  (just for test)

有可能做这样的事吗?或者对于每个子域我应该有不同的块吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-15 09:13:45

使用nginx提供的一个变量从请求行中提取主机名。例如,$host (详见本文件 ):

代码语言:javascript
复制
server { 
    server_name .domain.com;
    return 301 https://$host$request_uri;
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41158002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档