Wednesday, November 11, 2026

อัพเดท security config apache + php container ด้วย docker compose โดยอัพเดทแบบ ใช้งานต่อได้ทันที

ประเด็นคือ จะเพิ่มคอนฟิกเรื่อง security ใน contianer ที่รันอยู่แล้วเป็น apache + php 7

โดย Codex แนะนำ

1. สร้างไฟล์ apache-security.conf ในโฟลเดอร์เดียวกับ docker-compose.yml:

ServerTokens Prod

ServerSignature Off

# เปลี่ยนข้อความสำหรับ URL ที่ไม่มีอยู่ โดยยังตอบ HTTP 404

ErrorDocument 404 "Not Found"

แต่ละค่าทำหน้าที่ดังนี้:

  • ServerTokens Prod ซ่อนเวอร์ชันและระบบปฏิบัติการใน response header เหลือเพียง Server: Apache
  • ServerSignature Off ลบบรรทัด Apache/2.X.YY (Distro Name) Server at ... ด้านล่างหน้า error
  • ErrorDocument 404 เปลี่ยนหน้า 404 ให้แสดงข้อความสั้น ๆ ตามที่กำหนด

อ้างอิง เอกสารการตั้งค่า Apache

2. เพิ่ม volume ใน service www_myweb โดยเก็บรายการเดิมไว้:

    volumes:

      - ./html:/var/www/html

      - ./php.ini:/usr/local/etc/php/php.ini

      - ./apache-security.conf:/etc/apache2/conf-enabled/zz-security.conf:ro

ชื่อ zz-security.conf ช่วยให้โหลดหลังไฟล์ security.conf ปกติของ Debian และ :ro กำหนดให้ container อ่านไฟล์ได้อย่างเดียว

3. ตรวจสอบและนำค่าไปใช้:

$ docker compose config --quiet

$ docker compose up -d --no-deps --force-recreate www_myweb

$ docker compose exec www_myweb apache2ctl -t

การ recreate จะทำให้เว็บหยุดช่วงสั้น ๆ ครับ หากตรวจสอบสำเร็จควรเห็น Syntax OK

Popular Posts