任何人都可以指出我,正确设置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&gt; https://www.domain2.com
我这里也有一个子域名,但那个子域运行良好:dev.domain2.com
答案 0 :(得分:1)
我认为这可能与您使用逗号分隔服务器名称而不仅仅是空格有关。尝试删除此行中的逗号,看看你有运气吗?
private HashMap<Foo, List<Bar>> fooBar;