Score:0

ส่วนหัวที่ตั้งค่าโดยใช้โมดูล mod_headers ใน apache จะถูกละเว้นโดยสิ้นเชิง

ธง th

ดังนั้นฉันจึงพยายามดูว่าฉันสามารถตั้งค่าส่วนหัวการตอบสนองโดยกำหนดค่าใน Apache ได้หรือไม่

ฉันใช้การทดสอบ Debian ในกรณีที่สำคัญ

เว็บเซิร์ฟเวอร์ของฉันทำงานอยู่ และฉันใช้มันกับเว็บไซต์หลายแห่งที่ฉันกำลังพัฒนา ตอนนี้สิ่งที่ฉันต้องการทำคือตั้งค่าส่วนหัวเพื่อดูว่าใช้งานได้หรือไม่

นี่คือสิ่งที่ฉันเปลี่ยนใน apache.conf ของฉัน

<Directory /home/web>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
        Header set myHeader "Hello Header World"
</Directory>

นี่คือสิ่งที่ฉันโฮสต์ไฟล์การกำหนดค่าใน /etc/apache2/sites-available/000-default.conf ดูเหมือนว่า:

<โฮสต์เสมือน *:80>
        # คำสั่ง ServerName ตั้งค่ารูปแบบคำขอ ชื่อโฮสต์ และพอร์ตที่
        # เซิร์ฟเวอร์ใช้เพื่อระบุตัวเอง สิ่งนี้ใช้เมื่อสร้าง
        # URL การเปลี่ยนเส้นทาง ในบริบทของโฮสต์เสมือน ชื่อเซิร์ฟเวอร์
        # ระบุชื่อโฮสต์ที่ต้องปรากฏในส่วนหัวของคำขอ Host:
        # ตรงกับโฮสต์เสมือนนี้ สำหรับโฮสต์เสมือนเริ่มต้น (ไฟล์นี้) สิ่งนี้
        # ค่าไม่ได้ชี้ขาดเนื่องจากใช้เป็นทางเลือกสุดท้ายโฮสต์โดยไม่คำนึงถึง
        # อย่างไรก็ตาม คุณต้องตั้งค่าสำหรับโฮสต์เสมือนเพิ่มเติมอย่างชัดเจน
        #ชื่อเซิร์ฟเวอร์ www.example.com

        ServerAdmin webmaster@localhost
        DocumentRoot /บ้าน/เว็บ

        AliasMatch ^/vmapi/(.*)$ /home/web/vmapi/api_receiver.php
        AliasMatch ^/inherentvalue/api/(.*)$ /home/web/inherentvalue/api/api.php

        # loglevels ที่มีอยู่: trace8, ..., trace1, debug, ข้อมูล, ประกาศ, เตือน,
        # ข้อผิดพลาด วิกฤต การแจ้งเตือน เกิดขึ้น
        # นอกจากนี้ยังสามารถกำหนดค่าล็อกระดับโดยเฉพาะได้
        # โมดูล เช่น
        #ข้อมูล LogLevel ssl:warning

        บันทึกข้อผิดพลาด ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log รวมกัน

        ตำแหน่งที่ตั้งส่วนหัว "juancito"
        ส่วนหัวตั้งตำแหน่ง "pedrito"
        Header ตั้งค่า MyHeader "สวัสดี Joe Apache ใช้เวลา %D ไมโครวินาทีในการตอบสนองคำขอนี้"

        # สำหรับไฟล์การกำหนดค่าส่วนใหญ่จาก conf-available/ ซึ่งได้แก่
        # เปิดใช้งานหรือปิดใช้งานในระดับโลกก็เป็นไปได้
        # รวมบรรทัดสำหรับโฮสต์เสมือนหนึ่งรายการเท่านั้น ตัวอย่างเช่น
        # บรรทัดต่อไปนี้เปิดใช้งานการกำหนดค่า CGI สำหรับโฮสต์นี้เท่านั้น
        # หลังจากถูกปิดใช้งานทั่วโลกด้วย "a2disconf"
        #รวม conf-available/serve-cgi-bin.conf
</เวอร์ชวลโฮสต์>

# เป็นกลุ่ม: ไวยากรณ์=apache ts=4 sw=4 sts=4 sr noet

มีนามแฝงสำหรับโปรเจ็กต์อื่น ฉันกำลังดำเนินการอยู่

ผลลัพธ์ของ apache2ctl -M มีลักษณะดังนี้:

โหลดโมดูล:
 core_module (คงที่)
 so_module (คงที่)
 watchdog_module (คงที่)
 http_module (คงที่)
 log_config_module (คงที่)
 logio_module (คงที่)
 version_module (คงที่)
 unixd_module (คงที่)
 access_compat_module (แชร์)
 alias_module (แชร์)
 auth_basic_module (แชร์)
 authn_core_module (แชร์)
 authn_file_module (แชร์)
 authz_core_module (แชร์)
 authz_host_module (แชร์)
 authz_user_module (แชร์)
 autoindex_module (แชร์)
 deflate_module (ใช้ร่วมกัน)
 dir_module (แชร์)
 env_module (แชร์)
 filter_module (แชร์)
 headers_module (แชร์) <-- เปิดใช้งานแล้ว
 mime_module (แชร์)
 mpm_prefork_module (แชร์)
 โมดูลการเจรจาต่อรอง (ใช้ร่วมกัน)
 php_module (แชร์)
 reqtimeout_module (แชร์)
 rewrite_module (แชร์)
 setenvif_module (แชร์)
 status_module (แชร์)

ดังนั้นฉันจึงลองคำสั่งต่อไปนี้:

curl -i -s -k -v -X รับ "http://localhost/vmportal/css"

และผลลัพธ์คือ:

HTTP/1.1 301 ย้ายอย่างถาวร
วันที่: วันพุธที่ 24 พฤศจิกายน 2021 06:32:01 GMT
เซิร์ฟเวอร์: Apache/2.4.48 (เดเบียน)
ที่ตั้ง: http://localhost/vmportal/css/
ความยาวเนื้อหา: 313
ประเภทเนื้อหา: text/html; ชุดอักขระ=iso-8859-1

<!DOCTYPE HTML สาธารณะ "-//IETF//DTD HTML 2.0//EN">
<html><หัวเรื่อง>
<title>301 ย้ายอย่างถาวร</title>
</หัว><ตัว>
<h1>ย้ายอย่างถาวร</h1>
<p>เอกสารได้ย้ายไป <a href="http://localhost/vmportal/css/">ที่นี่</a></p>
<ชั่วโมง>
<ที่อยู่>เซิร์ฟเวอร์ Apache/2.4.48 (Debian) ที่พอร์ต localhost 80</address>
</body></html>

ฉันไม่ควรเห็นส่วนหัวใด ๆ ที่ฉันตั้งไว้ในการตอบกลับหรือไม่

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

digijay avatar
mx flag
คุณได้รับการตอบกลับ http 301 ลองคำสั่ง `curl` อีกครั้งดังนี้: `curl -I http://localhost/vmportal/css/` นอกจากนี้ เปลี่ยนชื่อส่วนหัวของคุณเป็น 'X-myHeader'
th flag
พยายามแล้ว แท้จริงแล้วไม่มีอะไรเปลี่ยนแปลงยกเว้นฉันไม่ได้รับเอาต์พุต HTML บนคอนโซลของฉัน

โพสต์คำตอบ

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