我尝试在 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