Redirect 如何从http重定向到https,从example.com重定向到www.example.com

Redirect 如何从http重定向到https,从example.com重定向到www.example.com,redirect,nginx,Redirect,Nginx,使用NGINX,我需要以下重定向示例的帮助: 必须重定向到 必须重定向到 必须重定向到 我已经读过了,但仍然无法让两个重定向一起工作 我尝试过此配置,但在尝试加载站点时出错:连接被中断 # Redirect any http:// request to https://www.example.com server { listen 80; return 301 https://www.example.com$request_uri; } # Redirect http://exam

使用NGINX,我需要以下重定向示例的帮助:

  • 必须重定向到
  • 必须重定向到
  • 必须重定向到
我已经读过了,但仍然无法让两个重定向一起工作

我尝试过此配置,但在尝试加载站点时出错:连接被中断

# Redirect any http:// request to https://www.example.com
server {
  listen 80;
  return 301 https://www.example.com$request_uri;
}

# Redirect http://example.com to https://www.example.com
server {
  listen 443 ssl;
  server_name example.com
  return 301 https://www.example.com$request_uri;
}

server {
  listen  443;
  server_name www.example.com;

  ssl on;
  ssl_certificate /foo.crt;
  ssl_certificate_key /foo.key;

  root /foo/;
  index index.php index.html index.htm;

  location / {
    try_files $uri $uri/ /index.php$is_args$args;
  }

  # pass the PHP scripts to FastCGI server listening on /var/run/php5-fpm.sock
  location ~ \.php$ {
    try_files $uri /index.php =404;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }
 }

您没有在的
服务器{}
块中定义SSL证书,这就是导致问题的原因。你必须在那里添加一个证书。(顺便说一句,这些信息应该在您的错误日志中。如果出现问题,最好查看一下。)

通常它与www.example.com的证书相同,因此您必须使用:

server {
  listen 443 ssl;
  server_name example.com;
  ssl_certificate /foo.crt;
  ssl_certificate_key /foo.key;
  return 301 https://www.example.com$request_uri;
}

请注意,
ssl开启侦听时,不需要使用code>。。。ssl,有关详细信息,请参阅。

您没有在的
服务器{}
块中定义SSL证书,这就是导致问题的原因。你必须在那里添加一个证书。(顺便说一句,这些信息应该在您的错误日志中。如果出现问题,最好查看一下。)

通常它与www.example.com的证书相同,因此您必须使用:

server {
  listen 443 ssl;
  server_name example.com;
  ssl_certificate /foo.crt;
  ssl_certificate_key /foo.key;
  return 301 https://www.example.com$request_uri;
}

请注意,
ssl开启侦听时,不需要使用code>。。。ssl,有关详细信息,请参阅。

您没有在的
服务器{}
块中定义SSL证书,这就是导致问题的原因。你必须在那里添加一个证书。(顺便说一句,这些信息应该在您的错误日志中。如果出现问题,最好查看一下。)

通常它与www.example.com的证书相同,因此您必须使用:

server {
  listen 443 ssl;
  server_name example.com;
  ssl_certificate /foo.crt;
  ssl_certificate_key /foo.key;
  return 301 https://www.example.com$request_uri;
}

请注意,
ssl开启侦听时,不需要使用code>。。。ssl,有关详细信息,请参阅。

您没有在的
服务器{}
块中定义SSL证书,这就是导致问题的原因。你必须在那里添加一个证书。(顺便说一句,这些信息应该在您的错误日志中。如果出现问题,最好查看一下。)

通常它与www.example.com的证书相同,因此您必须使用:

server {
  listen 443 ssl;
  server_name example.com;
  ssl_certificate /foo.crt;
  ssl_certificate_key /foo.key;
  return 301 https://www.example.com$request_uri;
}

请注意,
ssl开启侦听时,不需要使用code>。。。ssl,有关详细信息,请参阅。

此外,我还遗漏了服务器名称行末尾的分号。谢谢。除此之外,我还错过了服务器名称行末尾的分号。谢谢。除此之外,我还错过了服务器名称行末尾的分号。谢谢。除此之外,我还错过了服务器名称行末尾的分号。谢谢