Score:0

apache2 กำลังนำทางไปยังเส้นทางที่ไม่ถูกต้องเมื่อใช้ https สำหรับโดเมนย่อย

ธง np

ฉันมีใบรับรองตัวแทน ssl (letsencrypt) สำหรับ example.de & *.example.com

000-default.conf ของฉันมีลักษณะดังนี้:

<VirtualHost *:80>
    # The ServerName directive sets the request scheme, hostname and port that
    # the server uses to identify itself. This is used when creating
    # redirection URLs. In the context of virtual hosts, the ServerName
    # specifies what hostname must appear in the request's Host: header to
    # match this virtual host. For the default virtual host (this file) this
    # value is not decisive as it is used as a last resort host regardless.
    # However, you must set it for any further virtual host explicitly.
    #ServerName www.example.com

    ServerName example.de
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    Redirect permanent / https://example.de/

    # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
    # error, crit, alert, emerg.
    # It is also possible to configure the loglevel for particular
    # modules, e.g.
    #LogLevel info ssl:warn

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    # For most configuration files from conf-available/, which are
    # enabled or disabled at a global level, it is possible to
    # include a line for only one particular virtual host. For example the
    # following line enables the CGI configuration for this host only
    # after it has been globally disabled with "a2disconf".
    #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

<VirtualHost *:80>
    ServerName cloud.example.de
    ServerAdmin [email protected]
    DocumentRoot /var/www/cloud.example.de
    Redirect permanent / https://cloud.example.de/
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

<VirtualHost *:80>
    ServerName dev.example.de
    ServerAdmin [email protected]
    DocumentRoot /var/www/dev.example.de
    Redirect permanent / https://dev.example.de/
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

เริ่มต้น-ssl.conf:

<IfModule mod_ssl.c>

    <โฮสต์เสมือน *:443>
        ชื่อเซิร์ฟเวอร์ example.de
        SSLEngine เปิดอยู่
        SSLCertificateFile /etc/letsencrypt/live/example.de/cert.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/example.de/privkey.pem
        DocumentRoot /var/www/html
        บันทึกข้อผิดพลาด ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log รวมกัน
    </เวอร์ชวลโฮสต์>

    <โฮสต์เสมือน _default_:443>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www/html

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

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

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

        # สวิตช์เครื่องยนต์ SSL:
        # เปิด / ปิด SSL สำหรับโฮสต์เสมือนนี้
        SSLEngine เปิดอยู่

        # สามารถสร้างใบรับรองที่ลงนามเอง (snakeoil) ได้โดยการติดตั้ง
        # แพ็คเกจ ssl-cert ดู
        # /usr/share/doc/apache2/README.Debian.gz สำหรับข้อมูลเพิ่มเติม
        # หากทั้งคีย์และใบรับรองถูกจัดเก็บไว้ในไฟล์เดียวกัน เฉพาะไฟล์
        # จำเป็นต้องมีคำสั่ง SSLCertificateFile
        SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
        SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

        # เชนใบรับรองเซิร์ฟเวอร์:
        # ชี้ SSLCertificateChainFile ที่ไฟล์ที่มีไฟล์
        # การต่อใบรับรอง CA ที่เข้ารหัส PEM ซึ่งเป็นรูปแบบ
        # สายใบรับรองสำหรับใบรับรองเซิร์ฟเวอร์ อีกทางหนึ่ง
        # ไฟล์อ้างอิงสามารถเหมือนกับ SSLCertificateFile
        # เมื่อเพิ่มใบรับรอง CA เข้ากับเซิร์ฟเวอร์โดยตรง
        #ใบรับรองเพื่อความมั่นใจ
        #SSLCertificateChainFile /etc/apache2/ssl.crt/server-ca.crt

        # ผู้ออกใบรับรอง (CA):
        # กำหนดเส้นทางการตรวจสอบใบรับรอง CA ที่จะค้นหา CA
        # ใบรับรองสำหรับการรับรองความถูกต้องของไคลเอนต์หรืออีกทางเลือกหนึ่ง
        # ไฟล์ขนาดใหญ่ที่มีทั้งหมด (ไฟล์ต้องเข้ารหัส PEM)
        # หมายเหตุ: ภายใน SSLCACertificatePath คุณต้องมีแฮช symlink
        # เพื่อชี้ไปที่ไฟล์ใบรับรอง ใช้ที่ให้มา
        # Makefile เพื่ออัปเดตแฮช symlink หลังจากการเปลี่ยนแปลง
        #SSLCACertificatePath /etc/ssl/certs/
        #SSLCACertificateFile /etc/apache2/ssl.crt/ca-bundle.crt

        # รายการเพิกถอนใบรับรอง (CRL):
        # กำหนดเส้นทางการเพิกถอน CA ที่จะค้นหา CA CRL สำหรับลูกค้า
        # การรับรองความถูกต้องหรืออีกทางเลือกหนึ่งคือไฟล์ขนาดใหญ่ที่มีทั้งหมด
        # ของพวกเขา (ไฟล์ต้องเข้ารหัส PEM)
        # หมายเหตุ: ภายใน SSCARevocationPath คุณต้องมีแฮช symlink
        # เพื่อชี้ไปที่ไฟล์ใบรับรอง ใช้ที่ให้มา
        # Makefile เพื่ออัปเดตแฮช symlink หลังจากการเปลี่ยนแปลง
        #SSLCARevocationPath /etc/apache2/ssl.crl/
        #SSLCARevocationFile /etc/apache2/ssl.crl/ca-bundle.crl

        # การรับรองความถูกต้องไคลเอนต์ (ประเภท):
        # ประเภทการตรวจสอบใบรับรองไคลเอ็นต์และความลึก ประเภทได้แก่
        # ไม่มี, ไม่บังคับ, ต้องการ และ option_no_ca ความลึกคือ
        # หมายเลขที่ระบุความลึกในการตรวจสอบใบรับรอง
        # ห่วงโซ่ผู้ออกก่อนที่จะตัดสินว่าใบรับรองไม่ถูกต้อง
        #SSLVerifyClient ต้องการ
        #SSLVerifyความลึก 10

        # ตัวเลือกเครื่องยนต์ SSL:
        # ตั้งค่าตัวเลือกต่างๆสำหรับเครื่องยนต์ SSL
        # o FakeBasicAuth:
        # แปลไคลเอ็นต์ X.509 เป็นการอนุญาตขั้นพื้นฐาน นี่หมายความว่า
        # สามารถใช้เมธอด Auth/DBMAuth มาตรฐานสำหรับการควบคุมการเข้าถึงได้ เดอะ
        ชื่อผู้ใช้ # เป็นเวอร์ชัน `หนึ่งบรรทัด' ของใบรับรอง X.509 ของไคลเอ็นต์
        # โปรดทราบว่าไม่ได้รับรหัสผ่านจากผู้ใช้ ทุกรายการในผู้ใช้
        # ไฟล์ต้องการรหัสผ่านนี้: `xxj31ZMTZzkVA'
        # o ส่งออกใบรับรองข้อมูล:
        # สิ่งนี้ส่งออกตัวแปรสภาพแวดล้อมเพิ่มเติมสองตัว: SSL_CLIENT_CERT และ
        # SSL_SERVER_CERT เหล่านี้ประกอบด้วยใบรับรองที่เข้ารหัส PEM ของ
        # เซิร์ฟเวอร์ (มีอยู่เสมอ) และไคลเอนต์ (มีอยู่เฉพาะเมื่อไคลเอนต์
        # ใช้การรับรองความถูกต้อง) สามารถใช้นำเข้าใบรับรองได้
        # เป็นสคริปต์ CGI
        # o StdEnvVars:
        # สิ่งนี้ส่งออกตัวแปรสภาพแวดล้อม `SSL_*' ที่เกี่ยวข้องกับ SSL/TLS มาตรฐาน
        # ตามค่าเริ่มต้น การส่งออกนี้ถูกปิดเนื่องจากเหตุผลด้านประสิทธิภาพ
        # เนื่องจากขั้นตอนการสกัดเป็นการดำเนินการที่มีราคาแพงและโดยปกติแล้ว
        # ไม่มีประโยชน์สำหรับการให้บริการเนื้อหาคงที่ ดังนั้นจึงมักจะเปิดใช้งาน
        # การส่งออกสำหรับคำขอ CGI และ SSI เท่านั้น
        # o เลือกเจรจาใหม่:
        # สิ่งนี้เปิดใช้งานการจัดการการเจรจาต่อรองการเชื่อมต่อ SSL ที่ปรับให้เหมาะสมเมื่อ SSL
        # คำสั่งใช้ในบริบทต่อไดเรกทอรี
        #SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
        <FilesMatch "\.(cgi|shtml|phtml|php)$">
                SSLOptions +StdEnvVars
        </FilesMatch>
        <ไดเรกทอรี /usr/lib/cgi-bin>
                SSLOptions +StdEnvVars
        </ไดเร็กทอรี>

        # การปรับโปรโตคอล SSL:
        # การปิดระบบที่ปลอดภัยและเป็นค่าเริ่มต้น แต่ยังคงเป็นไปตามมาตรฐาน SSL/TLS
        # วิธีคือ mod_ssl ส่งการแจ้งเตือนการปิด แต่ไม่รอ
        # ปิดการแจ้งเตือนจากลูกค้า เมื่อคุณต้องการปิดเครื่องอื่น
        # วิธีการ คุณสามารถใช้หนึ่งในตัวแปรต่อไปนี้:
        # o ssl-ไม่สะอาด-ปิด:
        # สิ่งนี้บังคับให้ปิดเครื่องที่ไม่สะอาดเมื่อปิดการเชื่อมต่อ เช่น ไม่
        # การแจ้งเตือนการปิด SSL ถูกส่งหรืออนุญาตให้ได้รับ สิ่งนี้ฝ่าฝืน
        # มาตรฐาน SSL / TLS แต่จำเป็นสำหรับเบราว์เซอร์ที่สมองตาย ใช้
        # สิ่งนี้เมื่อคุณได้รับข้อผิดพลาด I/O เนื่องจากแนวทางมาตรฐานโดยที่
        # mod_ssl ส่งการแจ้งเตือนปิด
        # o ssl-ถูกต้องปิด:
        # สิ่งนี้บังคับให้ปิดเครื่องอย่างถูกต้องเมื่อปิดการเชื่อมต่อ เช่น
        # การแจ้งเตือนการปิด SSL ถูกส่งและ mod_ssl รอการแจ้งเตือนการปิด
        #แจ้งเตือนลูกค้า. เป็นไปตามมาตรฐาน SSL/TLS 100% แต่ใน
        การฝึกฝน # มักจะทำให้เกิดการเชื่อมต่อกับเบราว์เซอร์ที่สมองตาย ใช้
        # นี้สำหรับเบราว์เซอร์ที่คุณรู้ว่ามีการใช้ SSL เท่านั้น
        #ทำงานถูกต้อง
        # ข้อสังเกต: ปัญหาส่วนใหญ่ของไคลเอนต์ที่เสียยังเกี่ยวข้องกับ HTTP
        # สิ่งอำนวยความสะดวกในการช่วยชีวิต ดังนั้นคุณมักจะต้องการปิดการใช้งานเพิ่มเติม
        #รักษาชีวิตสำหรับลูกค้าเหล่านั้นด้วย ใช้ตัวแปร "nokeepalive" สำหรับสิ่งนี้
        # ในทำนองเดียวกัน เราต้องบังคับให้ลูกค้าบางรายใช้ HTTP/1.0 เพื่อแก้ปัญหา
        # การใช้งาน HTTP/1.1 ที่เสียหาย ใช้ตัวแปร "downgrade-1.0" และ
        # "force-response-1.0" สำหรับสิ่งนี้
        # BrowserMatch "MSIE [2-6]" \
        # nokeepalive ssl-ไม่สะอาด-ปิด \
        # ปรับลด -1.0 บังคับให้ตอบสนอง -1.0

    </เวอร์ชวลโฮสต์>
</หากโมดูล>

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

dev.example.de & cloud.example.de มีใบรับรอง wildcard ssl และเปลี่ยนทั้งไดเรกทอรีเป็น html??

ป้อนคำอธิบายรูปภาพที่นี่

สิ่งเดียวกันนี้เกิดขึ้นเมื่อฉันใช้สิ่งนี้:

ป้อนคำอธิบายรูปภาพที่นี่

Score:0
ธง in

DocumentRoot ของคุณใน ssl virtualhost ชี้ไปที่พาธนั้น DocumentRoot /var/www/html

โพสต์คำตอบ

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