【发布时间】:2015-06-09 09:28:22
【问题描述】:
我需要为我的 Rails 应用程序之一配置 nginx,以通过 SSL 路由一些页面,但面临配置问题。
我有一个 SSL 证书,其中通用名称是 example.com,我的网站正在从 www.example.com 路由到 example.com
这是我的 nginx.conf:
upstream unicorn {
server unix:/tmp/unicorn.sock fail_timeout=0;
}
server {
listen 80;
server_name www.example.com;
return 301 $scheme://example.com$request_uri;
}
server {
listen 443 ssl;
server_name example.com;
return 301 $scheme://example.com$request_uri;
ssl on;
ssl_certificate /certificate path;
ssl_certificate_key /key path;
}
server {
listen 80 default deferred;
root /public path;
try_files $uri/index.html $uri @unicorn;
location @unicorn {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://unicorn;
}
client_max_body_size 50M;
}
我也尝试了不同的配置,但没有任何效果。任何建议将不胜感激。在此先感谢您。
【问题讨论】:
-
serverfault.com 上的 nginx 的流量(和更高的专业知识)比 stackoverflow 上的流量多,我建议您在那里询问。
-
在收听 80 时你的 $scheme = http 所以你正在循环返回,如果你想要 80 -> 443 那么不要使用方案,强制 https。与 443 相同,看起来你创建了一个循环。
标签: ruby-on-rails ssl nginx