Nginx: X-Accel-Redirect intern funktioniert nicht
Dies ist meine 'interne' setup über nginx:
location /issues/{
root /home/some_user/some_project/;
internal;
}
Wenn ich den Kommentar aus der "interne" Teil, Nginx dient die Datei in den "Problem" - Ordner und die Dateien darin einfach nur gut. Aber auch wenn es aktiviert ist kann ich noch nicht dienen, Sie alle Dateien von der Python-oder PHP-code:
# Python, outputs an empty zip
import os
file_name = '12.pdf.zip'
response = HttpResponse()
response['Content-Disposition'] = 'attachment; filename=%s' % t_str(file_name)
response['Content-Length'] = os.path.getsize(file_path)
response['Content-Type'] = "application/zip"
response['X-Accel-Redirect'] = '12.pdf.zip'
return response
# PHP, does nothing
header("X-Accel-Redirect: 12.pdf.zip");
- Und das sind sites-enabled/default und nginx.conf. 8000 ist für Django und 81 ist für PHP
server {
listen 80; ## listen for ipv4
server_name localhost;
access_log /var/log/nginx/localhost.access.log;
location /{
# proxy /requests to apache running django on port 8081
proxy_pass http://127.0.0.1:8000/;
proxy_redirect 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;
proxy_max_temp_file_size 0;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
location /issues/{
root /home/some_user/some_project/;
internal;
}
}
worker_processes 1;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
# multi_accept on;
}
http {
# include /etc/nginx/mime.types;
access_log /var/log/nginx/access.log;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;
gzip on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
proxy_redirect 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;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
include /etc/nginx/sites-enabled/*;
}
Ich habe versucht, die änderung der Nginx config alias, das gleiche Problem. Und versucht, alle möglichen Datei-Pfade. Kann jemand sehen, was falsch ist? Oder geben Sie mir einige Hinweise? Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich weiß nicht, warum ich nicht bekommen konnte es auf der Arbeit vor. Vielleicht ist das Nginx Wiki-docs ist falsch? Dies ist, wie ich es gelöst:
In der nginx/sites-available/default:
in views.py:
Sowie den vollständigen Pfad der Zip-Archiv ist:
/home/ubuntu/issues/some.zip
Und 12.pdf.zip muss sich in /home/some_user/some_project/Themen/