1
我使用nginx與反向代理到我的gunicorn django服務器在本地運行我的django應用程序。nginx重寫導致重定向循環
我試圖從任何http請求強制ssl,因爲該網站只是打算https訪問。該應用程序將只收聽8888端口(取80和443),所以該站點只能在指定8888端口時訪問。
我試圖在服務器塊和位置塊中用這個rewrite^https://domain.net:8888$request_uri? permanent;
重寫。它不僅不會將http請求重定向到相同的url,而且在有https請求時也會導致重定向循環。
server {
listen 8888;
server_name sy-system.net;
rewrite^https://domain.net:8888$request_uri? permanent;
ssl on;
ssl_certificate /path/to/domain.pem;
ssl_certificate_key /path/to/domain.key;
# serve directly - analogous for static/staticfiles
location /media/ {
root /path/to/root;
}
location /static/ {
root /path/to/root;
}
location/{
#rewrite^https://sy-system.net:8888$request_uri? permanent;
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_connect_timeout 10;
proxy_read_timeout 10;
proxy_pass http://127.0.0.1:8881/;
proxy_set_header X-Forwarded-Protocol https;
}
# what to serve if upstream is not available or crashes
error_page 500 502 503 504 /media/50x.html;
}
耶剛剛實現,謝謝 – zentenk 2012-02-14 12:03:39