HTTPS重写www

时间:2018-02-08 15:35:34

标签: nginx

Nginx将所有HTTP重定向到附加了WWW的HTTPS,如此:

server {
  listen 80;
  listen [::]:80;
  server_name example.com www.example.com;
  return 301 https://www.example.com$request_uri;
}
server {
  listen 443 ssl http2;
  listen [::]:443 ssl http2;
  server_name example.com;
  return 301 https://www.example.com$request_uri;
}
server {
  listen 443 ssl http2;
  listen [::]:443 ssl http2;
  server_name www.example.com;
  ...
}

访问“https://example.com”时,我收到一个引用default_server的SSL_Common_Name错误。注意它是没有WWW的HTTPS。我需要在HTTPS上强制使用WWW,我想在这种情况下重写吗?

访问时如何有效地返回/重写URL? 我需要没有WWW的HTTPS才能通过WWW返回HTTPS。

以下是否正确?如果是这样,我应该从第一个服务器块中删除“ssl http2”吗?

patch() {
    let dataArr = new FormArray([]);
    dataArr.push(new FormGroup({
       'name': new FormControl(this.users[0].data[0].name),
       'category': new FormControl(this.users[0].data[0].category)
    }));

      let formArr = <FormArray>this.myForm.controls.users;
      formArr.push(this.fb.group({
          name: this.users[0].name,
          displayOrder: this.users[0].displayOrder,
          sort: new FormGroup({ 
              type:new FormControl(this.users[0].sort.type), // pass your values here
              format: new FormControl(this.users[0].sort.format)
          }),
          data: dataArr
      }));
}

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

您可以从第二个块中删除http2,因为它不需要,但您需要保留ssl。

休息一切看起来不错