Apache Centos 6.5 กำลังโหลดโฮสต์เสมือนแรกเท่านั้น


3

เช่นเดียวกับคำถามที่ระบุเฉพาะโฮสต์เสมือนแรกเท่านั้นที่ถูกโหลด ถ้าฉันไปที่โดเมนที่สองจากนั้นก็เพียงนำไปที่โดเมนแรก ฉันสามารถโหลดไฟล์แต่ละไฟล์ในโดเมนที่สอง แต่ฉันไม่สามารถโหลดไฟล์ดัชนีได้

NameVirtualHost *:80
<VirtualHost *:80>
 ServerAdmin youremail@domain.com
 DocumentRoot /var/www/intranet/public_html
 ServerName employees.nationalpurchasingpartners.com
 ServerAlias employees.nationalpurchasingpartners.com
</VirtualHost>

<VirtualHost *:80>
 ServerAdmin youremail@domain.com
 DocumentRoot /var/www/procurement/public_html
 ServerName www.procurementnews.com
 ServerAlias procurementnews.com
</VirtualHost>

ฉันทำงานผ่านลิงค์ต่อไปนี้เพื่อไม่เกิดประโยชน์

http://wiki.apache.org/httpd/CommonMisconfigurations

การเพิ่มการส่งออกของขด:

HTTP/1.1 200 OK
Server: Apache
Set-Cookie: COOKIE=10.5.19.235.1396565642197130; path=/
ETag: "AAAAUSZYEDQ"
Last-Modified: Thu, 06 Mar 2014 21:50:26 GMT
Set-Cookie: referrer=; path=/
Set-Cookie: t=d9979760bb8211e39a570015c5e70b87; path=/
Set-Cookie: referrer=procurementnews.com; path=/
Vary: Accept-Encoding,User-Agent
Cartoon: aalander4
Content-Type: text/html; charset=UTF-8
Date: Thu, 03 Apr 2014 22:54:02 GMT
X-Varnish: 1862602499
Age: 0
Via: 1.1 varnish
Connection: keep-alive

ผลผลิตของ httpd -S

httpd -S

*:80                   is a NameVirtualHost
     default server employees.nationalpurchasingpartners.com (/etc/httpd/conf/httpd.conf:1012)
     port 80 namevhost employees.nationalpurchasingpartners.com (/etc/httpd/conf/httpd.conf:1012)
             alias employees.nationalpurchasingpartners.com
     port 80 namevhost www.procurementnews.com (/etc/httpd/conf/httpd.conf:1019)
             alias procurementnews.com

คุณรีสตาร์ท apache ตั้งแต่ทำการเปลี่ยนแปลงhttpd-vhosts.conf?
jayhendren

Apache ก็ถูกรีสตาร์ทหลายครั้ง
6 paq

ฉันไม่คุ้นเคยกับวานิช แต่เป็นไปได้ที่จะเปลี่ยนคำขอของคุณในขณะที่กำหนดเส้นทางไปยังเซิร์ฟเวอร์ Apache แบ็กเอนด์
Ladadadada

ฉันปิดการใช้งานวานิชและยังไม่มีโชคเช่นนี้
6 paq

จำเป็นต้องเพิ่มโดเมนไปยังไฟล์ / etc / hosts รีสตาร์ท Apache และทุกอย่างเรียบร้อย ขอบคุณสำหรับความช่วยเหลือทุกคน หากมีคนต้องการที่จะวางในเป็นคำตอบที่ฉันจะยอมรับและดำเนินการต่อไป ขอบคุณ!
6 paq

คำตอบ:


3

หากคุณกำลังกำหนดค่าโฮสต์เสมือนตามชื่อนี่คือวิธีที่ควรทำเท่าที่ฉันเข้าใจ:

แก้ไข httpd.conf เช่น:

NameVirtualHost *:80
<VirtualHost employees.nationalpurchasingpartners.com:80>
 ServerAdmin youremail@domain.com
 DocumentRoot /var/www/intranet/public_html
 ServerName employees.nationalpurchasingpartners.com
</VirtualHost>

<VirtualHost procurementnews.com:80>
 ServerAdmin youremail@domain.com 
 DocumentRoot /var/www/procurement/public_html
 ServerName www.procurementnews.com
 ServerAlias procurementnews.com *.procurementnews.com
</VirtualHost>

จากนั้นเรียกใช้:

# /etc/init.d/httpd restart

หากคุณต้องการทดสอบบนเครื่องเดียวกันคุณจะต้องอัปเดต/etc/hostsไฟล์ของเซิร์ฟเวอร์และรวมถึง:

1.1.1.1 employees.nationalpurchasingpartners.com
2.2.2.2 procurementnews.com

หรือตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ DNS ของคุณมีการตั้งค่าระเบียนเหล่านี้

โปรดอัปเดตหากใช้งานได้หรือไม่


1

การกำหนดค่าส่วนกลางของคุณ (สิ่งใดนอก VirtualHost) มีชื่อเซิร์ฟเวอร์เดียวกันหรือไม่ คุณสามารถเพิ่มคำจำกัดความ logfile สำหรับการกำหนดค่าทั่วโลกของคุณและอีกหนึ่งคำสั่งสำหรับโฮสต์เสมือนของคุณเพื่อดูว่าแต่ละการรับส่งข้อมูลใด

สำรองไฟล์การกำหนดค่าทั้งหมดของคุณก่อนที่จะทดสอบอะไรและใช้ "configtest" ทุกครั้งก่อนที่จะพยายามใช้การเปลี่ยนแปลงใด ๆ

ใน httpd.conf:

CustomLog logs/default_access_log combined

จากนั้นในนิยาม VirtualHost ของคุณให้เพิ่มรายการ CustomLog สำหรับแต่ละรายการ:

<VirtualHost *:80>
 ServerAdmin youremail@domain.com
 DocumentRoot /var/www/intranet/public_html
 ServerName employees.nationalpurchasingpartners.com
 ServerAlias employees.nationalpurchasingpartners.com  # this entry is redundant

    CustomLog logs/employees.nationalpurchasingpartners.com_access_log combined

</VirtualHost>

<VirtualHost *:80>
 ServerAdmin youremail@domain.com
 DocumentRoot /var/www/procurement/public_html
 ServerName www.procurementnews.com
 ServerAlias procurementnews.com

    CustomLog logs/www.procurementnews.com_access_log combined

</VirtualHost>

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

คุณสามารถบันทึกส่วนหัว "Host" ที่ถูกส่งไปยัง Apache โดยการคัดลอกบรรทัด LogFormat ที่รวมเข้ากับรายการใหม่และเพิ่ม

\"%{Host}i\"

เช่น

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\" \"%{Host}i\"" with_host

จากนั้นเปลี่ยนรายการ Apache CustomLog ด้านบนเพื่อใช้ "with_host" แทน "รวมกัน

ตรวจสอบให้แน่ใจว่าได้ย้อนกลับการเปลี่ยนแปลงของคุณหลังจากการทดสอบเพื่อคืนค่าเซิร์ฟเวอร์ของคุณกลับสู่การทำงานปกติ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.