【发布时间】:2017-03-31 06:41:14
【问题描述】:
任何人都可以指点我,正确设置nginx。 我有 3 个域和 1 个子域,但只有一个域有问题。
所有域都有相同的主服务器块
domain1.com
server {
# Server host
server_name domain1.com *.domain1.com; # Other domains are set to 1.com, 2.com ...
# Server ports
listen 80;
listen [::]:80 ipv6only=on;
listen 443 ssl http2;
listen [::]:443 ipv6only=on ssl http2;
现在有趣的是:
$ curl -I http://www.domain2.com,
HTTP/1.1 200 OK
Link: <http://www.domain3.com/>; rel=shortlink
$ curl -I https://domain2.com
HTTP/1.1 302 Found
Location: https://www.domain1.com
所以非www https重定向到domain1.com,www http显示domain3.com。
我已尝试添加:
server {
listen 80;
listen [::]:80;
server_name www.domain2.com, domain2.com;
return 301 https://www.domain2.com$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name domain2.com;
return 301 https://www.domain2.com$request_uri;
}
但这无济于事。 我看到可能某些设置是多余的,但不确定为什么这不起作用。 我想要实现的是:
domain2.com, www.domain2.com > https://www.domain2.com
我这里也有一个子域,但它运行良好:dev.domain2.com
【问题讨论】: