重写HTTP 某些URL 为 HTTPS URL

location = /res/static/index.html {
    #方式一
    #return 301 https://$http_host$request_uri$is_args$query_string;

    #方式二 
    return 301 https://$host$request_uri;

    #方式三
    #rewrite ^/(.+) https://$host/$1 permanent;
}

将所有HTTP请求重写为HTTPS

server {
    return 301 https://$host$request_uri;
}

nginx 查找 server_name 的顺序

  • 指定的 server_name
  • 拥有 default 指令的 server_name
  • 第一个 server_name

比如 api.company.com .(即 server_name:端口 没有端口的话, 则 http 就是 80, https 就是 443)

如果 server {} 中有 api.company.com 这个 server_name 和 port, 那就是它了.

如果没有指定的话, 则查找有 default 指令所在的 server {} 对应的 port 的.

如果上面都没有, 就是在配置文件中第一个出现 server {} 配对的 port 指令的配置.