Ich stoße auf ein Problem mit xsendfile mit meiner Rails 3 App.
Ich verwende capistrano, um Bereitstellungen zu verwalten, und in jedem Release gibt es eine symbolische Verknüpfung zum gemeinsamen / Assets-Verzeichnis (z. B. / var / www / site / releases / 1234 / assets = & gt; / var / www / site / geteilt / Assets). Das Problem ist, dass XSendFile den symbolischen Links nicht zu folgen scheint. In meinen Apache-Protokollen sehe ich den folgenden Fehler:
%Vor%Ich habe die XSendFilePath-Konfiguration als
festgelegt %Vor%Wenn ich die Konfiguration auf
umstelle %Vor%Dann funktioniert alles gut. Ich habe also ein paar Fragen:
1) Gibt es eine Möglichkeit, den XSendFilePath der symbolischen Verbindung folgen zu lassen?
2) Besteht ein Sicherheitsrisiko, wenn XSendFilePath auf meine Releases gesetzt wird? Mit anderen Worten, öffne ich den Zugang zu all diesem Verzeichnis?
Erstellen Sie den Link mit einer ähnlichen after "deploy:finalize_update"
-Aufgabe:
Dies bewirkt, dass XSendFilePath den Link als /var/www/site/current/assets
sieht, was ihn innerhalb des Root-Pfades platziert.
Stellen Sie außerdem sicher, dass der Benutzer, der Ihre App ausführt, Eigentümer und Schreibberechtigungen für / var / www / site / shared / assets hat.
Tags und Links ruby-on-rails symlink capistrano x-sendfile