Score:0

Passenger Apache - ถูกห้าม คุณไม่ได้รับอนุญาตให้เข้าถึงแหล่งข้อมูลนี้

ธง vu

ฉันติดอยู่กับ อาปาเช่ กับ ผู้โดยสาร การกำหนดค่า ฉันใช้เวลาสองสามวันในการหาทางออก ฉันทำตามคำแนะนำนี้ ฉันได้รับข้อความนี้ในเบราว์เซอร์:

ต้องห้าม

คุณไม่ได้รับอนุญาตให้เข้าถึงทรัพยากรนี้

httpd.conf

# ใช้ /usr/bin/node ตามค่าเริ่มต้น
PassengerNodejs /usr/bin/node

<โฮสต์เสมือน *:80>

    ชื่อเซิร์ฟเวอร์ example.com

    RewriteEngine เปิดอยู่ 
    RewriteCond ลด %{HTTPS}
    RewriteCond %{SERVER_NAME} =example.com
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=ถาวร]

</เวอร์ชวลโฮสต์>

<โฮสต์เสมือน *:443>

    ชื่อเซิร์ฟเวอร์ example.com

    # บอก Apache และ Passenger ว่าไดเรกทอรีรหัสแอปของคุณอยู่ที่ไหน
        DocumentRoot /var/www/example.com
        PassengerAppRoot /var/www/example.com/

    # บอกผู้โดยสารว่าแอปของคุณคือแอป Node.js
        โหนด PassengerAppType
        PassengerStartupFile app.js

    # ผ่อนคลายการตั้งค่าความปลอดภัยของ Apache
    <ไดเรกทอรี /var/www/example.com>
        ตัวเลือก FollowSymLinks
        AllowOverride ไม่มี
        คำสั่งอนุญาตปฏิเสธ
        อนุญาตจากทั้งหมด
        ตัวเลือก -MultiViews
        # ไม่แสดงความคิดเห็นหากคุณใช้ Apache >= 2.4:
        ต้องได้รับอนุญาตทั้งหมด
    </ไดเร็กทอรี>

    รวม CustomLog /var/log/httpd/example.com_access.log
    บันทึกข้อผิดพลาด /var/log/httpd/example.com_error.log

    SSLEngine เปิดอยู่
    SSLCertificateFile /etc/letsencrypt/live/example.com/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/example.com/fullchain.pem
    รวม /etc/letsencrypt/options-ssl-apache.conf

</เวอร์ชวลโฮสต์>

ใน /var/log/httpd/example.com_error.log ฉันได้รับ:

[Sat Sep 04 07:24:00.473120 2021] [autoindex:error] [pid 907862:tid 139932467173120] [client 85.89.184.79:50337] AH01276: ไม่สามารถให้บริการไดเร็กทอรี /var/www/example.com/: ไม่มี DirectoryIndex ที่ตรงกัน ( พบ index.html,index.php) และดัชนีไดเร็กทอรีที่สร้างโดยเซิร์ฟเวอร์ถูกห้ามโดยคำสั่ง Options

สิทธิ์ของไฟล์

drwxr-xr-x. 5 รูท 102 ก.ย. 3 23:53 ..
drwxr-xr-x. 8 รูทรูท 163 ก.ย. 4 07:11 .git
-rw-r--r--. 1 รูท รูท 35 ก.ย. 4 07:11 .gitignore
-rw-r--r--. 1 รูทรูท 215 ก.ย. 4 07:11 README.md
-rw-r--r--. 1 รูทรูท 390 ก.ย. 4 07:11 app.js
drwxr-xr-x. 3 รูทรูท 21 ก.ย. 4 07:12 node_modules
-rw-r--r--. 1 รูทรูท 2655 4 ก.ย. 07:12 npm-shrinkwrap.json
-rw-r--r--. 1 รูทรูท 318 ก.ย. 4 07:11 package.json
drwxr-xr-x. รูท 2 รูท 22 ก.ย. 4 07:11 สาธารณะ

ขด http://127.0.0.1:3000/ คืนค่าสวัสดีจาก Node.js/io.js + Connect.js!

มีอะไรที่ฉันควรตรวจสอบหรือไม่?

Score:0
ธง in

ข้อผิดพลาดนี้หมายความว่าไม่มีไฟล์ดัชนีเริ่มต้นในไดเร็กทอรี และนั่นเป็นกรณีของคุณอย่างชัดเจนเมื่อพิจารณาจากรายการไฟล์ที่คุณกล่าวถึง

สารละลาย:

  1. สร้างหน้า index.html เปล่าภายในไดเรกทอรีสาธารณะของคุณ

    แตะ /var/www/example.com/index.html
    
  2. แก้ไขคำสั่งตัวเลือกภายใน httpd.conf และเพิ่มดัชนี:

    ตัวเลือก -MultiViews -ดัชนี
    
  3. รีสตาร์ท/โหลด httpd ใหม่

    บริการ httpd โหลดซ้ำ
    

แก้ไข:

เมื่อดูที่ httpd.conf ของคุณอีกครั้ง ดูเหมือนว่าคุณไม่ได้ชี้ DocumentRoot ไปที่ไดเรกทอรีสาธารณะของคุณ ดังนั้น:

  1. แทนที่ DocumentRoot ปัจจุบันเป็น /var/www/example.com/public:
DocumentRoot /var/www/example.com/public
  1. เปลี่ยนเส้นทางไดเรกทอรีเป็นเส้นทางเดียวกันด้วย:
<Directory /var/www/example.com/public>

สำหรับข้อมูลเพิ่มเติม โปรดดูที่ เว็บไซต์ผู้โดยสาร

neuroine avatar
vu flag
ขอบคุณสำหรับคำตอบ. ไฟล์ `index.html` ทำงานได้ดี แต่ Passenger รันแอปโหนดจากไฟล์ `app.js`
neuroine avatar
vu flag
ขอบคุณสำหรับข้อเสนอแนะต่อไป น่าเสียดายที่ไม่ใช่ ฉันคิดว่าปัญหาสามารถเกิดขึ้นจริงได้ด้วยสิทธิ์ของผู้ใช้ เมื่อฉัน `curl http://127.0.0.1:3000/` จากเซิร์ฟเวอร์ ฉันได้รับเนื้อหาของหน้า แต่เมื่อฉัน curl โดยใช้โดเมน `http://example.com/` ฉันได้รับ **403 Forbidden**
djdomi avatar
za flag
@neuroine คุณต้องมี reverse proxy ในกรณีนั้นไม่ใช่โฟลเดอร์รูท

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา