Back to Question Center
0

SSL ในไดเรกทอรีหลาย - Semalt

1 answers:

ฉันมีเว็บไซต์ที่เป็น http แต่มีพอร์ตที่ตั้งค่าไว้สำหรับ https สำหรับไดเรกทอรีเฉพาะสำหรับรถเข็นช็อปปิ้ง. ตอนนี้ฉันต้องการใช้ SSL ของเราในไดเรกทอรีอื่นในไซต์เดียวกันด้วย. ฉันจะไปเกี่ยวกับการกำหนดค่าได้อย่างไร

ฉันได้พยายามมองเข้าไปในทุกไฟล์ config รวมทั้งเอกสารและไม่สามารถคิดออก - logo of construction.

ฉันได้ลองตั้งค่านี้ใน httpd. config ด้วย

      # ลอง *: [ssl port] และ [actual IP]: [ssl port]ServerAdmin shred @ me. ดอทคอมDocumentRoot "C: / path / sslNeededDir"ชื่อเซิร์ฟเวอร์ www. ตัวอย่าง. ดอทคอม
    

หวังว่าจะทำให้หน้าเว็บในไดเรกทอรีนี้ใช้พอร์ต ssl และกลายเป็น https แต่ไม่ได้ทำอะไร. ความช่วยเหลือใด ๆ ที่เป็นที่ชื่นชมอย่างมาก.

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

February 10, 2018

การทำเช่นนี้กับนามแฝงน่าจะเป็นวิธีที่ง่ายที่สุด. เพื่อประโยชน์ของอาร์กิวเมนต์สมมติว่านี่คือปัจจุบันของคุณ สำหรับไดเร็กทอรีที่ให้บริการโดย SSL (รู้ดีว่า config ดีจากเซิร์ฟเวอร์ dev ของฉันถ้าคุณสนใจ):

  # config พื้นฐาน vhostผู้ดูแลระบบ ServerAdmin @ mysite. ดอทคอมปลอดภัย ServerName. mysite. com: 443 # การกำหนดค่าไดเรกทอรีรากเอกสาร "/ เว็บเซิร์ฟเวอร์ / โฮสต์เสมือน / ปลอดภัย. mysite. co.th / htdocs" / WebServer / virtualhosts / ความปลอดภัย. mysite. co.th / htdocs ">ตัวเลือก FollowSymLinks ExecCGIAllowOverride ทั้งหมดอนุญาตการสั่งซื้อปฏิเสธอนุญาตจากทุกคน# Logging configuration# Rem: รูปแบบบันทึก ssl ที่กำหนดใน httpd. conf Error Log "/ เว็บเซิร์ฟเวอร์ / โฮสต์เสมือน / ปลอดภัย. mysite. co.th / logs / ข้อผิดพลาด. เข้าสู่ระบบ"CustomLog "/ WebServer / virtualhosts / secure. mysite. co.th / logs / การเข้าถึง. ล็อก "ssl# การกำหนดค่า SSL# Rem: ทำงานได้อย่างถูกต้อง, fingerpoken ist verboten!เปิดใช้งาน SSLEngineSSLCipherSuite ALL:! ADH:! EXPORT56: RC4 + RSA: + HIGH: + กลาง: + ต่ำ: + SSLv2: + EXP: + eNULLSSLCertificateFile "/ var / apache / conf / certs / secure-mysite-com. ใบรับรอง"SSLCertificateKeyFile "/ var / apache / conf / certs / secure-mysite-com. สำคัญ"SSLOptions + StdEnvVars / var / apache / cgi-bin ">SSLOptions + StdEnvVarsBrowserMatch ". * MSIE. * "\nokeepalive ssl-unclean-shutdown \ปรับลด-1. แรงตอบสนอง -0. 0 

ตามที่คุณสามารถ (หวังว่า) ดูจาก config ข้างต้นเมื่อฉันขอรากของโฮสต์เสมือน - i. อี. ฉันขอ https: // secure. mysite. com / - ฉันจะทำงานกับไดเรกทอรีท้องถิ่น / WebServer / virtualhosts / secure. mysite. com / htdocs .

ขณะที่คุณยังสามารถหวังว่าจะเห็นการตั้งค่าโฮสต์เสมือนอย่างถูกต้องไม่ใช่เพียงแค่กรณีเล็กน้อยในการตัดคำสั่ง ServerName และ DocumentRoot ควบคู่กันไปจำเป็นต้องระมัดระวัง ปรับแต่งเพื่อทำสิ่งที่คุณต้องการ. เวลาส่วนใหญ่ที่คุณต้องการบันทึกข้อมูลเฉพาะโฮสต์ถ้าคุณใช้ SSL คุณจำเป็นต้องกำหนดพฤติกรรมขั้นพื้นฐานบางอย่างและตรวจสอบว่าข้อมูลพร้อมใช้งานกับสคริปต์ด้านเซิร์ฟเวอร์ของคุณคุณจำเป็นต้องดำเนินการเกี่ยวกับการเขียนรหัสเฉพาะและการกำหนดค่าเฉพาะของ IE (ฮึ่มม ฯลฯ ฯลฯ ฯลฯ.

สมมติว่าฉันต้องการให้บริการ / WebServer / virtualhosts / secure. someothersite. com / htdocs โดยใช้ใบรับรองและชื่อโฮสต์เดียวกัน. อันดับแรกฉันต้องตัดสินใจว่าฉันต้องการจะเข้าถึงได้อย่างไรและฉันตัดสินใจว่าต้องการใช้ที่อยู่ https: // secure. mysite. com / someothersite / . ฉันเพิ่งสร้าง symlink ในรากเอกสารต้นฉบับและได้ทำกับมัน แต่ที่อาจจะสับสนให้คนอื่นทำงานกับระบบไฟล์ท้องถิ่น. ไม่เราจะใช้คำสั่งดังกล่าว นามแฝง แทน.

ไวยากรณ์พื้นฐานสำหรับนี้คือ Alias ​​/ url-path / full / file / system / path - ดังนั้นฉันจะต้องบรรทัดนี้:

  นามแฝง / someothersite / WebServer / virtualhosts / ปลอดภัย. someothersite. co.th / htdocs 

โปรดทราบว่าฉันได้ ไม่ใช่ รวมเครื่องหมายท้ายต่อท้ายเส้นทางใดเส้นทางหนึ่ง. นี้เป็นสิ่งสำคัญสำหรับการใช้งานที่จะใช้งานง่ายและทำงานตามที่คุณคาดหวัง. Great - ตอนนี้ Apache จะรู้ว่าเมื่อฉันขอ / someothersite ฉันต้องการอ่านไดเรกทอรีที่ไม่ได้อยู่ในรากเอกสารจริงๆ. และคุณอาจคิดว่ามันเป็นงานทำ แต่รอ

สิ่งที่เกี่ยวกับส่วน ? ที่ให้สิทธิ์การเข้าถึงเฉพาะสำหรับไดเร็กทอรีที่กำหนดไว้เป็น DocumentRoot ดังนั้นเราจำเป็นต้องมีส่วนอื่นสำหรับไดเรกทอรีที่มีนามแฝงของเรา. เพื่อประโยชน์ของอาร์กิวเมนต์ให้เป็นเพียงคัดลอก / วางส่วนไดเรกทอรีเดิมและเปลี่ยนเส้นทางที่ใช้กับ:

   / WebServer / virtualhosts / secure. someothersite. co.th / htdocs ">ตัวเลือก FollowSymLinks ExecCGIAllowOverride ทั้งหมดอนุญาตการสั่งซื้อปฏิเสธอนุญาตจากทุกคน
 

ขณะนี้ มันจะทำงาน.

ลองดูที่การกำหนดค่าสุดท้ายของเรา:

  # config พื้นฐาน vhostผู้ดูแลระบบ ServerAdmin @ mysite. ดอทคอมปลอดภัย ServerName. mysite. com: 443 # การกำหนดค่าไดเรกทอรีรากเอกสาร "/ เว็บเซิร์ฟเวอร์ / โฮสต์เสมือน / ปลอดภัย. mysite. co.th / htdocs" / WebServer / virtualhosts / ความปลอดภัย. mysite. co.th / htdocs ">ตัวเลือก FollowSymLinks ExecCGIAllowOverride ทั้งหมดอนุญาตการสั่งซื้อปฏิเสธอนุญาตจากทุกคน# นามแฝงสำหรับ / someothersite ไดเรกทอรีเสมือนAlias ​​/ someothersite / WebServer / virtualhosts / ปลอดภัย. someothersite. co.th / htdocs / WebServer / virtualhosts / ความปลอดภัย. someothersite. co.th / htdocs ">ตัวเลือก FollowSymLinks ExecCGIAllowOverride ทั้งหมดอนุญาตการสั่งซื้อปฏิเสธอนุญาตจากทุกคน