Score:0

แนวทางปฏิบัติที่ดีในการตั้งค่า www กับเซิร์ฟเวอร์ที่ไม่มี www (apache) คืออะไร

ธง us

ฉันพยายามกำหนดค่าเว็บไซต์ที่ไม่ใช่ www บน Ubuntu 18.04 ด้วย Apache 2.4 และฉันจัดการเพื่อให้สิ่งต่าง ๆ ใช้งานได้ https://example.me ทำงานได้ดี แต่, www.example.me โดเมนย่อยยังทำงานอยู่ (เพราะฉันได้เพิ่ม ServerAlias) เดอะ https://www.example.me เปิดขึ้นเช่นกันและไม่แสดงใบรับรองซึ่งทำให้ฉันสับสน - ไม่ควรเปลี่ยนเส้นทางไป https://example.com ? แนวทางปฏิบัติที่ดีที่นี่คืออะไร ฉันควรมีทั้งโดเมนย่อย www และไม่ใช่ www และไฟล์ conf แยกต่างหากสำหรับแต่ละโดเมน ฉันควรใช้เพียงรายการเดียวที่มีการเปลี่ยนเส้นทางถาวรหรือไม่ เหตุใดการเปลี่ยนเส้นทางจึงไม่ทำงานที่นี่ ฉันต้องการคำสั่งอื่นหรือไม่

ขอแสดงความนับถือ.

<VirtualHost *:443>
        SSLEngine on
        SSLCertificateFile /etc/apache2/ssl/mysite.me.crt
        SSLCertificateKeyFile /etc/apache2/ssl/mysite.me.key
        SSLCertificateChainFile /etc/apache2/ssl/mysite.me.crt
        DocumentRoot /var/www/html
        ServerName https://example.me
        ServerAlias www.example.me
        UseCanonicalName Off

        ProxyPreserveHost On
        ProxyRequests On
        ProxyVia On

        #ErrorLog /var/log/httpd/tomcat.error.log
        #CustomLog /var/log/httpd/tomcat.log combined

       <Proxy *>
               Order deny,allow
               Allow from all
       </Proxy>
        Include /etc/apache2/sites-available/redirect.conf

        ProxyPass / ajp://localhost:8009/
        ProxyPassReverse / ajp://localhost:8009/
</VirtualHost>

<VirtualHost *:80>
        ServerAdmin [email protected]
        ServerName example.me
        DocumentRoot /var/www/html
        UseCanonicalName Off
        Redirect permanent "/" "https://example.me/"

        ProxyPreserveHost On
        ProxyRequests On
        ProxyVia On

        #ErrorLog /var/log/httpd/tomcat.error.log
        #CustomLog /var/log/httpd/tomcat.log combined

       <Proxy *>
               Order deny,allow
               Allow from all
       </Proxy>
        Include /etc/apache2/sites-available/redirect.conf

        ProxyPass / ajp://localhost:8009/
        ProxyPassReverse / ajp://localhost:8009/

        #ProxyPass / http://localhost:8080/
        #ProxyPassReverse / http://localhost:8080/

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

</VirtualHost>
in flag
หากคุณต้องการทราบว่าเหตุใดการเปลี่ยนเส้นทางจึงไม่ทำงาน คุณควรรวมไฟล์การกำหนดค่าการเปลี่ยนเส้นทางไว้ในคำถาม
c.mtd17 avatar
us flag
การเปลี่ยนเส้นทางนั้นประกอบด้วยกฎสองพันข้อที่มีการเปลี่ยนเส้นทางจากเว็บไซต์เก่าไปยังเว็บไซต์ใหม่
Score:0
ธง cn
Bob

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


IMHO การกำหนดค่าของคุณเต็มไปด้วยข้อผิดพลาดและสมมติฐานที่ไม่ถูกต้อง


ห้ามเปิดใช้งาน / อนุญาตคำขอพร็อกซี !!!

    ProxyPreserveHost เปิด
    ProxyRequests บน
    พร็อกซี่ผ่าน On
   <หนังสือมอบฉันทะ *>
           คำสั่งปฏิเสธอนุญาต
           อนุญาตจากทั้งหมด
   </พร็อกซี่>

คำสั่งด้านบนคือการสร้าง ส่งต่อพร็อกซี. ที่แย่กว่านั้นคือ เปิด พร็อกซีที่สามารถและจะถูกละเมิดโดยใครก็ตามที่ต้องการซ่อนที่อยู่ IP ของพวกเขาโดยใช้เว็บเซิร์ฟเวอร์ของคุณ

คุณ ไม่ต้องการ ProxyRequests บน สำหรับ ย้อนกลับ หนังสือมอบฉันทะ และ พร็อกซีพาส แนวทางการทำงาน

โปรดลบสิ่งเหล่านั้นออก


ใน HTTP VirtualHost ของคุณ

เมื่อคุณมี VirtualHost เพียงอันเดียว มันจะกลายเป็น VirtualHost เริ่มต้น (สำหรับพอร์ตและที่อยู่นั้น) คำอธิบายที่ยาวขึ้น ที่นี่. ดังนั้นหากคุณไม่ได้กำหนดบล็อก VirtualHost เพิ่มเติม รายการเดี่ยวนี้:

<โฮสต์เสมือน *:80>
        ServerAdmin [email protected]
        ชื่อเซิร์ฟเวอร์ example.me

จะถูกใช้สำหรับคำขอ HTTP ธรรมดาทั้งหมด เช่น ทั้งสองอย่าง http://example.me/some-page.htm?foo=bar , http://www.example.me , http://your.ip-ที่อยู่/ เป็นต้น VirtualHost นั้นจะถูกใช้แม้ว่าจะไม่มีการระบุอย่างชัดเจนก็ตาม ServerAlias ​​www.example.com กำหนด www.example.com เป็นชื่อโฮสต์สำรองสำหรับ VirtualHost นั้น ๆ

 เปลี่ยนเส้นทางถาวร "/" "https://example.me/"

ระบุว่าคำขอทั้งหมดจะส่งผลให้เกิดการตอบกลับแบบเปลี่ยนเส้นทางไปยัง https://example.me/ กล่าวอีกนัยหนึ่ง:

 http://example.me/some-page.htm?foo=bar ==> https://example.me/some-page.htm?foo=bar
 http://www.example.me ==> https://example.me/
 http://your.ip-address/bob/is.awe-some ==> https://example.me/bob/is.awe-some

เมื่อคุณเปลี่ยนเส้นทางทุกอย่างออกไป ก็ไม่มีเหตุผลที่จะมีคำสั่งอื่นใดที่ปกติจะแสดงเนื้อหาใน VirtualHost นั้น ดังนั้นคุณจึงสามารถละเว้น DocumentRoot, พร็อกซีพาส ฯลฯ และเก็บ http VirtualHost ธรรมดาที่น้อยที่สุด:

<VirtualHost *:80>
        ServerAdmin [email protected]
        ServerName example.me
        UseCanonicalName Off

        Redirect permanent "/" "https://example.me/"

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

</VirtualHost>

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

สิ่งเดียวคือใบรับรอง TLS ของเซิร์ฟเวอร์ ที่ถูกต้องสำหรับชื่อโฮสต์ที่อยู่ในนั้นเท่านั้น ชื่อโฮสต์อื่นๆ จะส่งผลให้เกิดข้อผิดพลาด/คำเตือนของใบรับรองที่ไม่ถูกต้อง

คุณอาจต้องตรวจสอบเนื้อหาของไฟล์ที่คุณรวมไว้ที่นี่:

รวม /etc/apache2/sites-available/redirect.conf
c.mtd17 avatar
us flag
ขอบคุณ Bob สำหรับคำอธิบายโดยละเอียด พวกเขากำลังใช้พร็อกซีสำหรับ Tomcat และแอปอื่นๆ...ฉัน "รับช่วง" เซิร์ฟเวอร์นี้มาจากคนอื่น และฉันกำลังพยายามดูว่าอะไรคือแนวทางปฏิบัติที่ดีและวิธีกำหนดค่า และเหตุใดจึงมีคำเตือนใบรับรองที่ไม่ถูกต้องใน www.example.me คุณอาจเห็นในการกำหนดค่านี้หรือไม่ ฉันควรเพิ่ม virtualhost อื่นสำหรับ www และใบรับรองลิงค์ที่นั่นหรือไม่ Redirect.conf มีกฎสองพันกฎสำหรับการเปลี่ยนเส้นทางข้อมูลจากเว็บไซต์เก่าไปยังเว็บไซต์ใหม่...
cn flag
Bob
คุณไม่จำเป็นต้องเปิดใช้พร็อกซีการส่งต่อเมื่อใช้พร็อกซีย้อนกลับหรือ ajp

โพสต์คำตอบ

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