Score:0

จำเป็นต้องมีการอนุญาต 401 บน Apache 2.2 เมื่อการดัดผมทำให้เกิดข้อผิดพลาดในการเคลือบเงา 500

ธง cn
[centos@staging03 ~]$ sudo netstat -plnt
การเชื่อมต่ออินเทอร์เน็ตที่ใช้งานอยู่ (เฉพาะเซิร์ฟเวอร์)
Proto Recv-Q Send-Q Local Address ที่อยู่ต่างประเทศ State PID/ชื่อโปรแกรม   
tcp 0 0 127.0.0.1:80 0.0.0.0:* ฟัง 3600/httpd          
tcp 0 0 127.0.0.2:80 0.0.0.0:* ฟัง 1574/เคลือบเงา       
tcp 0 0 172.31.22.60:80 0.0.0.0:* ฟัง 1539/nginx          
tcp 0 0 0.0.0.0:22 0.0.0.0:* ฟัง 1251/sshd           
tcp 0 0 127.0.0.1:25 0.0.0.0:* ฟัง 1501/หลัก         
tcp 0 0 127.0.0.1:443 0.0.0.0:* ฟัง 3600/httpd          
tcp 0 0 127.0.0.1:6082 0.0.0.0:* ฟัง 1573/เคลือบเงา       
tcp 0 0 127.0.0.1:9000 0.0.0.0:* ฟัง 3468/php-fpm        
tcp 0 0 127.0.0.1:11211 0.0.0.0:* ฟัง 1229/memcached      
tcp 0 0 127.0.0.1:6379 0.0.0.0:* ฟัง 1061/redis-เซิร์ฟเวอร์ 1 
tcp 0 0 :::22 :::* ฟัง 1251/sshd           
tcp 0 0 :::3306 :::* ฟัง 1383/mysqld 

ฉันตรวจสอบเพื่อตรวจสอบว่าเซิร์ฟเวอร์ของฉันมีปัญหาอะไร และเมื่อใด:

ขด 127.0.0.1:80

ฉันได้:

ต้องการการอนุมัติ

เซิร์ฟเวอร์นี้ไม่สามารถยืนยันได้ว่าคุณ ได้รับอนุญาตให้เข้าถึงเอกสาร ร้องขอ ไม่ว่าคุณจะจัดหาผิด ข้อมูลประจำตัว (เช่น รหัสผ่านไม่ถูกต้อง) หรือของคุณ เบราว์เซอร์ไม่เข้าใจวิธีการจัดหา ข้อมูลรับรองที่จำเป็น


บนเซิร์ฟเวอร์อื่นที่ทุกอย่างใช้งานได้ ฉันได้รับการตอบกลับที่ว่างเปล่า ดังนั้นฉันคิดว่านี่คือสาเหตุที่ฉันได้รับข้อผิดพลาดการเคลือบเงา 500 จาก Apache

ในบันทึก Apache ฉันไม่ได้รับอะไรเลยเมื่อฉันม้วนผม แต่ก่อนหน้านั้นฉันได้รับ:

[วันพุธที่ 27 ตุลาคม 17:02:25 น. 2564] [ประกาศ] จับ SIGTERM ปิดตัวลง
[วันพุธที่ 27 ตุลาคม 17:02:25 น. 2564] [ประกาศ] เปิดใช้งานกลไก suEXEC (wrapper: /usr/sbin/suexec)
[วันพุธที่ 27 ต.ค. 17:02:25 น. 2564] [ประกาศ] ไดเจสต์: สร้างความลับสำหรับการตรวจสอบสิทธิ์ไดเจสต์ ...
[พุธ 27 ต.ค. 17:02:25 น. 2564] [ประกาศ] สรุป: เสร็จแล้ว
[วันพุธที่ 27 ตุลาคม 17:02:25 น. 2021] [ประกาศ] FastCGI: ตัวจัดการกระบวนการเริ่มต้น (pid 3602)
[วันพุธที่ 27 ตุลาคม 17:02:25 น. 2021] [ประกาศ] Apache/2.2.15 (Unix) กำหนดค่า DAV/2 mod_fastcgi/2.4.6 - กลับมาดำเนินการตามปกติ

ดูเหมือนว่า FastCGI ได้รับการกำหนดค่าอย่างถูกต้อง และปัญหาที่ฉันได้รับจาก Apache ก็คือปัญหาการตรวจสอบสิทธิ์ที่แปลกพอสมควร มีอะไรอีกบ้างที่ฉันสามารถทำได้เพื่อระบุว่าปัญหาคืออะไร

วานิชให้สิ่งต่อไปนี้:

   12 TxHeader b X-วานิช: 1537309960
   12 RxProtocol ข HTTP/1.1.1
   12 RxStatus b 500
   12 RxResponse b ข้อผิดพลาดเซิร์ฟเวอร์ภายใน
   12 RxHeader b วันที่: พุธ 27 ต.ค. 2021 21:14:18 GMT
   12 RxHeader b เซิร์ฟเวอร์: Apache/2.2.15 (CentOS)
   12 RxHeader b หมดอายุ: พุธ 11 ม.ค. 1984 05:00:00 GMT
   12 RxHeader b การควบคุมแคช: ไม่มีแคช ต้องตรวจสอบใหม่ อายุสูงสุด=0

อย่างไรก็ตาม ฉันไม่มีวิธีตรวจสอบว่า 500 Internal Server Error คืออะไร เนื่องจากบันทึกข้อผิดพลาดสำหรับ php ดูเหมือนจะว่างเปล่า

Score:1
ธง in

สิ่งที่ต้องทำ Apache

  1. เพิ่มระดับการบันทึกใน Apache
  2. ทดสอบความแตกต่างระหว่างการเรียก HTTP ไปยังไฟล์สแตติกใน Apache และการเรียกไปยัง PHP
  3. ตรวจสอบบันทึกข้อผิดพลาดของ Apache ด้วยรายละเอียดที่เพิ่มขึ้น

เป้าหมายคือการเรียกใช้ HTTP 200 จาก Apache ขด http://127.0.0.1ทั้งในหน้าแรกหรือไฟล์สแตติกบางไฟล์

TODO เคลือบเงา

  1. อัปเกรดวานิชเป็นเวอร์ชันที่รองรับและบำรุงรักษา
  2. เพิ่มโพรบแบ็กเอนด์ใน VCL ของคุณ
  3. ตรวจสอบความสมบูรณ์ของแบ็กเอนด์ผ่าน VSL

จากเอาต์พุต VSL ที่คุณแชร์ ฉันเห็นว่าคุณกำลังใช้ Varnish เวอร์ชันเก่าอยู่ ดู https://www.varnish-software.com/developers/tutorials/installing-varnish-centos/ เพื่อเรียนรู้วิธีการติดตั้ง วานิช 6.0 บ บน CentOS

ไม่เพียงแต่คุณจะมี Varnish เวอร์ชันที่ปลอดภัยเท่านั้น เครื่องมือ VSL ของคุณ (เช่น วานิชล็อก) ยังดีกว่าเวอร์ชันที่คุณใช้งานอยู่มาก

ต่อไปนี้เป็นตัวอย่างของแบ็กเอนด์ที่มีโพรบสุขภาพ:

แบ็กเอนด์เริ่มต้น {
    .host = "127.0.0.1";
    .port = "8080";
    .probe = {
        .url = "/";
        .timeout = 2 วินาที;
        .interval = 5 วินาที;
        .window = 10;
        .threshold = 5;
   }
}

สิ่งนี้จะช่วยให้คุณสามารถตรวจสอบสถานะของแบ็กเอนด์ของคุณได้อย่างต่อเนื่อง คุณสามารถทำได้โดยใช้คำสั่งต่อไปนี้:

sudo varnishlog -g ดิบ -i Backend_health

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

รวมสิ่งนี้เข้ากับภารกิจของคุณเพื่อรับรหัสสถานะ HTTP 200 จาก Apache และคุณจะได้เข้าใกล้ทางออกสุดท้าย

haher avatar
cn flag
ข้อผิดพลาด 500 ไม่น่าจะเกิดจาก php และเราสามารถบันทึกข้อผิดพลาด php ด้วยได้หรือไม่
Thijs Feryn avatar
in flag
นั่นอาจจะจบลงในบันทึกข้อผิดพลาดของเว็บเซิร์ฟเวอร์หากกำหนดค่าทั้งหมดอย่างถูกต้อง ตรวจสอบให้แน่ใจว่าเปิดการรายงานข้อผิดพลาดของรันไทม์ PHP และบันทึกข้อผิดพลาดอย่างถูกต้อง

โพสต์คำตอบ

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