【发布时间】:2016-09-30 18:07:07
【问题描述】:
给了这个很好的机会,但似乎我找到的任何在线文档都与某个用例相关,所以对于以前没有 nginx.conf 经验的人来说,这真的很痛苦!
我在 Dokku 上有一个 Ruby on Rails 服务器,其 nginx.conf 模板如下所示。当前所做的是重定向 http:// 请求以自动使用 https://。虽然我需要它在没有重定向的情况下在 http:// 上工作。
server {
listen [::]:80;
listen 80;
server_name getbeambox.com yourhotspot.net www.getbeambox.com;
access_log /var/log/nginx/beambox-access.log;
error_log /var/log/nginx/beambox-error.log;
return 301 https://$host:443$request_uri;
}
server {
listen [::]:443 ssl spdy;
listen 443 ssl spdy;
server_name getbeambox.com yourhotspot.net www.getbeambox.com;
server_name getbeambox.com yourhotspot.net www.getbeambox.com;
access_log /var/log/nginx/beambox-access.log;
error_log /var/log/nginx/beambox-error.log;
ssl_certificate /home/dokku/beambox/tls/server.crt;
ssl_certificate_key /home/dokku/beambox/tls/server.key;
keepalive_timeout 70;
add_header Alternate-Protocol 443:npn-spdy/2;
location / {
gzip on;
gzip_min_length 1100;
gzip_buffers 4 32k;
gzip_types text/css text/javascript text/xml text/plain text/x-component application/javascript application/x-javascript application/json application/xml application/rss+xm$
gzip_vary on;
gzip_comp_level 6;
proxy_pass http://beambox-5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header X-Request-Start $msec;
}
include /home/dokku/beambox/nginx.conf.d/*.conf;
}
upstream beambox-5000 {
server 172.17.0.3:5000;
}
谁能指出我正确的方向?不会问我是否真的被卡住了:)
【问题讨论】:
-
您可以从单个
server块中提供http和https。详情请见this document。