nginx:http 到 https 重定向不起作用

nginx:http 到 https 重定向不起作用

我尝试在 Ubuntu 14.04 上使用 nginx 1.6.0 为 sickbeard 执行 http 到 https 的重定向,但是没有成功。

以下是 sickbeard 的配置:

upstream sickbeard  {
  server localhost:8081;
}

server {
  listen *:80;         
  server_name sb.mydomain.com;
  server_tokens off;
  root /nowhere; 
  rewrite ^ https://$server_name$request_uri? permanent;
}

server {
  listen 443 ssl;
  server_name sb.mydomain.com;
  server_tokens off;

  ssl on;
  ssl_protocols       SSLv3 TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers         AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5;
  ssl_session_cache   shared:SSL:10m;
  ssl_session_timeout 10m;
  ssl_certificate      server.crt;
  ssl_certificate_key  server.key;

  location / {
    proxy_pass  http://sickbeard;
    proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
    proxy_redirect off;
    proxy_buffering off;
    proxy_set_header        Host            $host;
    proxy_set_header        X-Real-IP       $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

如此https://sb.mydomain.com/home可行,但http://sb.mydomain.com/home不可行(超时)。

知道原因吗?

谢谢!

答案1

我设法让它工作了。我必须在 /etc/hosts 中添加以下行:

127.0.0.1    sb.mydomain.com    sb

相关内容