ทำให้ Nginx ติดตาม symlinks


28

Nginx ไม่ติดตามลิงก์สัญลักษณ์ ฉันได้รับข้อผิดพลาด 404 ในไดเรกทอรีของฉันฉันมีลิงค์นี้:

lrwxrwxrwx  1 root root    48 Sep 23 08:52 modules -> /path/to/dir/

แต่/path/to/dirไม่พบไฟล์ที่เก็บไว้ใน



2
disable_symlinks off;ตกลงฉันแก้ไขด้วย ขอบคุณ!
hellb0y77

ไม่มีปัญหามีวันที่ดี!
Andy

โปรดพิมพ์คำตอบของคุณเป็นคำตอบและยอมรับ (เป็นพฤติกรรมที่ยุติธรรม) หรือลบคำถาม
leonbloy

ความคิดอื่น ๆ ? ฉันมีปัญหานี้ฉันลองปิดการใช้งาน ในความเชื่อมั่นของฉัน (แม้ว่าจะเป็นค่าเริ่มต้นจริง ๆ ) และไม่มีอะไรทำงาน

คำตอบ:


38

ฉันใส่disable_symlinks off;ใน nginx.conf ของฉันและฉันแก้ไขทำงานได้ดี!

http {
    disable_symlinks off;
}

ฉันได้nginx: [emerg] unknown directive "disable_symlinks" in /usr/local/etc/nginx/nginx.conf:22หลังจากทำสิ่งนี้แล้ว ฉันใช้งานnginx/1.8.0บน Mac OS X.
Frozen-flame

2
@ Frozen-flame disable_symlinksถูกเพิ่มในเวอร์ชัน 1.1.15 ( ดูเอกสาร ) ดังนั้นจึงควรใช้งานได้ คุณแน่ใจหรือว่าคุณใช้เวลา 1.8.0 และอยู่ในบริบทที่อนุญาต (http, เซิร์ฟเวอร์หรือตำแหน่ง)
วิลล์

2
บริบทที่ใช้disable_symlinks:http, server, location
Thiago Pereira

1

ฉันพบวิธีแก้ปัญหาในโพสต์นี้

โดยเฉพาะอย่างยิ่งบรรทัดเหล่านี้:

fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;

1

ใช้ตัวเลือก 'ผูก' โดยติดตั้งโฟลเดอร์ =)

sudo nano /etc/fstab

ประเภท:

/path/where/my/big/files_dir /var/www/myhost/media_dir bind defaults,bind 0 0

(ไม่มี symlink และอย่าลืมรีสตาร์ท vds / cpu)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.