คำถามติดแท็ก virtualhost

คำถามเกี่ยวกับการโฮสต์เสมือน นั่นคือการให้บริการเนื้อหาสำหรับเอนทิตีที่แยกกันอย่างมีเหตุผลจากเครื่องเดียวกัน โดยทั่วไปจะเกี่ยวข้องกับการโฮสต์เสมือนตามชื่อในเว็บเซิร์ฟเวอร์ แต่ยังสามารถครอบคลุมโปรโตคอลอื่น ๆ เช่น SMTP หรือ IMAP

5
Nginx ชื่อเซิร์ฟเวอร์ที่ขัดแย้งกันสำหรับโดเมนย่อย
ขณะนี้ฉันมี vhost ที่ทำงานบน Nginx สำหรับ foo.domain.com และทุกอย่างใช้งานได้ดี ฉันสร้างไฟล์ใหม่สำหรับโดเมนย่อยใหม่ฉันต้องการเพิ่มชื่อ bar.domain.com ฉันใช้การตั้งค่าเดียวกันสำหรับทั้งคู่ เมื่อฉันรีสตาร์ท Nginx ฉันจะได้รับ Restarting nginx: nginx: [warn] conflicting server name "" on 0.0.0.0:443, ignored nginx. เมื่อฉันไปที่ bar.domain.com ฉันเห็นสิ่งที่ฉันควรจะเห็น แต่เมื่อฉันไปที่ foo.domain.com ฉันเห็นหน้าเว็บที่ bar.domain.com เชื่อมโยงไปถึง ฟู upstream php-handler { server unix:/var/run/php5-fpm.sock; } server { listen 80; server_name foo.domain.com; return 301 https://$server_name$request_uri; } …
15 nginx  ssl  virtualhost 

2
SSL vhost หลายตัวที่ใช้ไวด์การ์ดใน nginx
ฉันมีชื่อโฮสต์สองชื่อที่ใช้ชื่อโดเมนเดียวกันซึ่งฉันต้องการให้บริการผ่าน HTTP ฉันมีใบรับรอง wildcard-SSL และสร้าง vhost configs สองอัน: โฮสต์ A listen 127.0.0.1:443 ssl; server_name a.example.com; root /data/httpd/a.example.com; ssl_certificate /etc/ssl/wildcard.cer; ssl_certificate_key /etc/ssl/wildcard.key; โฮสต์ B listen 127.0.0.1:443 ssl; server_name b.example.com; root /data/httpd/b.example.com; ssl_certificate /etc/ssl/wildcard.cer; ssl_certificate_key /etc/ssl/wildcard.key; อย่างไรก็ตามฉันได้รับ vhost เดียวกันสำหรับชื่อโฮสต์อย่างใดอย่างหนึ่ง

5
Nginx ฉันจะปฏิเสธคำขอไปยังเซิร์ฟเวอร์เสมือน ssl ที่ไม่แสดงรายการได้อย่างไร
ฉันมีใบรับรองไวด์การ์ด SSL และโดเมนย่อยหลายรายการใน IP เดียวกัน ตอนนี้ฉันต้องการให้ nginx ของฉันจัดการเฉพาะชื่อเซิร์ฟเวอร์ที่กล่าวถึงและการเชื่อมต่อแบบหล่นสำหรับผู้อื่นเพื่อให้ดูเหมือนว่า nginxไม่ทำงานสำหรับชื่อเซิร์ฟเวอร์ที่ไม่แสดง (ไม่ตอบสนองปฏิเสธปฏิเสธไม่ใช่หนึ่งไบต์ในการตอบสนอง) ฉันทำต่อไปนี้ ssl_certificate tls/domain.crt; ssl_certificate_key tls/domain.key; server { listen 1.2.3.4:443 ssl; server_name validname.domain.com; // } server { listen 1.2.3.4:443 ssl; server_name _; // deny all; // return 444; // return 404; //location { // deny all; //} } ฉันได้ลองเกือบทุกอย่างในบล็อกเซิร์ฟเวอร์ล่าสุด แต่ไม่สำเร็จ ฉันได้รับการตอบสนองที่ถูกต้องจากเซิร์ฟเวอร์เสมือนที่รู้จักหรือรหัสข้อผิดพลาด …

4
เป็นไปได้ไหมที่จะตั้งค่า SSLProtocol ใน Apache สำหรับ VirtualHost (poodle) เดียว?
ฉันพยายามทดสอบตัวแก้ไขช่องโหว่ของพุดเดิ้ลที่เกี่ยวข้องกับการปิดใช้งาน SSLv3 บนเว็บเซิร์ฟเวอร์ของฉัน เพื่อทดสอบสิ่งนี้ในสภาพแวดล้อมที่ไม่ใช่การผลิตก่อนฉันกำลังตั้งค่า SSLProtocol บน VirtualHost สำหรับเซิร์ฟเวอร์ทดสอบอื่น การกำหนดค่าของฉันมีลักษณะเช่นนี้: <VirtualHost *:443> SSLEngine On SSLProtocol All -SSLv2 -SSLv3 ServerName test.mysite.com # bunch of other stuff omitted </VirtualHost> อย่างไรก็ตามแม้หลังจากรีสตาร์ท apache เว็บไซต์ทดสอบของฉันยังคงอ้างว่าเป็นช่องโหว่ สิ่งนี้คาดว่าจะใช้ได้หรือไม่ ฉันสงสัยว่าฉันต้องตั้งค่าไว้ในการกำหนดค่า SSL ระดับโลกหรือไม่หรือมีสิ่งอื่นที่ทำให้การตั้งค่าไม่สามารถใช้งานและ / หรือทำงานได้

2
คุณควรแก้ไข / ลบการกำหนดค่าไซต์ apache เริ่มต้นหรือไม่
ฉันเพิ่งทำตามบทช่วยสอนนี้เกี่ยวกับการตั้งค่าการทำให้บริสุทธิ์ตามชื่อใน Apache และทำงานได้ดีจริงๆ กวดวิชาโดยทั่วไปมีให้คุณสามารถเพิ่มไฟล์ config จะsites-availableเรียกว่าและจากนั้นเชื่อมโยงกับyourdomain.comsites-enabled โดยค่าเริ่มต้น Apache รวมถึงสองไฟล์ config ของเว็บไซต์ในsites-available, และdefaultdefualt-ssl คุณควรแก้ไขไฟล์เหล่านี้หรือลบลิงค์ในsites-enabledไดเรกทอรีหรือไม่ หลังจากเล่นกับสิ่งนี้ (ในเครื่อง) ฉันรู้ว่าโดยค่าเริ่มต้นเว็บไซต์เริ่มต้นชี้ไปที่/var/wwwไดเรกทอรีรากของคุณและดังนั้นถ้ามีคนไปที่ IP ของเซิร์ฟเวอร์ของคุณโดยตรงพวกเขาจะไม่เห็น vhosts และไดเรกทอรีอื่น ๆ/var/wwwทั้งหมดยกเว้น การกำหนดค่า vhost เริ่มต้นจะเปลี่ยนเป็นชี้ไปยังไดเรกทอรีอื่นหรือคัดลอกมาจากsites-enabledไหน ฉันแค่สงสัยว่าสิ่งที่ทำกันโดยทั่วไปกับไซต์เริ่มต้นหากเซิร์ฟเวอร์นั้นถูกใช้สำหรับการจำลองเสมือนแบบใช้ชื่อ ขออภัยถ้าฉันทำสิ่งนี้ไม่ถูกต้องเนื่องจากฉันค่อนข้างใหม่ในการใช้งานเว็บเซิร์ฟเวอร์ของตัวเอง

4
ฉันสามารถกำหนด HTTP และ HTTPS ใน VirtualHost เดียวกันใน Apache conf ได้หรือไม่
ฉันมีคำนิยาม VirtualHost ที่ค่อนข้างใหญ่ซึ่งฉันไม่ต้องการทำซ้ำดังนั้นไซต์จะทำงานผ่าน HTTPS นี่คือสิ่งที่ฉันต้องการจะทำ: <VirtualHost *> ServerName example.com <If port=443> SSLEngine on SSLCertificateFile ... SSLCertificateKeyFile ... SSLCertificateChainFile ... </If> (other config) </VirtualHost> มีวิธีการทำเช่นนี้? ฉันไม่มีวิธีอื่นที่จะไม่ทำการตั้งค่าซ้ำหรือไม่

3
แยกไฟล์ php.ini สำหรับแต่ละโฮสต์เสมือนของ Apache หรือไม่?
เป็นไปได้หรือไม่ที่จะมีไฟล์ php.ini แยกต่างหากที่แทนที่ไฟล์ php.ini เริ่มต้นสำหรับแต่ละโฮสต์เสมือน ฉันใช้ Apache / 2.2.14, PHP 5.3.2-1 ตัวอย่างเช่นฉันมีหลายโฮสต์ที่ชี้ไปที่โดเมนใน/var/www/ไดเรกทอรีของฉัน: /var/www/website1.com /var/www/website2.com สิ่งที่ฉันต้องการคือการวางไฟล์ php.ini ที่กำหนดเองในแต่ละไดเรกทอรีที่จะแทนที่ค่าเริ่มต้นเฉพาะสำหรับ vhost นั้น แต่ให้ใช้ค่าเริ่มต้นเดิมหากไม่ได้ระบุค่า: /var/www/website1.com/htdocs/ /var/www/website1.com/php.ini แก้ไข สำหรับผู้ที่สนใจฉันพบข้อมูลเพิ่มเติมเกี่ยวกับหัวข้อที่ฉันจะตั้งค่าไฟล์ php.ini ต่อไซต์บนเซิร์ฟเวอร์ LAMP โดยใช้ NameVirtualHosts ได้อย่างไร .

1
Apache SSL VirtualHosts บน IP เดียวโดยใช้ใบรับรอง UCC / SAN
ฉันต้องโฮสต์ Apache โฮสต์เสมือนหลายแห่งพร้อม SSL จาก IP เดียว ตอนนี้ - ฉันเข้าใจว่าเนื่องจาก SSL ล้อมรอบคำขอ HTTP จึงไม่มีทางรู้ได้ว่ามีการร้องขอโฮสต์ใดจนกว่าจะส่งรหัสสาธารณะให้กับลูกค้าก่อน สิ่งนี้จะทำลายความเป็นไปได้ของโฮสต์เสมือน SSL ที่ใช้ใบรับรอง SSL มาตรฐาน ฉันได้รับ Unified Communications Certificate (UCC) หรือที่เรียกว่าใบรับรอง Subject Alternative Name (SAN) สิ่งนี้ทำให้ฉันสามารถแสดงใบรับรองเดียวกันสำหรับหลายโดเมนได้ ฉันต้องการให้เป็นใบรับรองที่ Apache ให้บริการสำหรับการร้องขอ SSL ใด ๆจากนั้นให้ Apache แก้ไขโฮสต์เสมือนตามปกติเมื่อมีการเข้ารหัสแล้ว ฉันจะกำหนดค่า Apache สำหรับสิ่งนี้ได้อย่างไร ฉันได้พยายามค้นคว้าวิธีการนี้สามารถทำได้ แต่ทั้งหมดที่ฉันสามารถหาได้คือคำพูดที่บอกว่าเป็นไปได้ แต่ไม่มีเฉพาะ: wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI ในขณะที่ Apache สามารถเจรจาใหม่การเชื่อมต่อ SSL ในภายหลังหลังจากเห็นชื่อโฮสต์ในคำขอ …

5
เส้นทางรูทโดเมน nginx แบบไดนามิกตามชื่อโฮสต์หรือไม่
ฉันกำลังพยายามตั้งค่าเซิร์ฟเวอร์พัฒนา nginx / PHP ของฉันด้วยการกำหนดค่า vhost หลัก / catch-all vhost เพื่อให้ฉันสามารถสร้าง___.framework.locโดเมนไม่ จำกัด ได้ตามต้องการ server { listen 80; index index.html index.htm index.php; # Test 1 server_name ~^(.+)\.frameworks\.loc$; set $file_path $1; root /var/www/frameworks/$file_path/public; include /etc/nginx/php.conf; } อย่างไรก็ตาม nginx ตอบกลับด้วยข้อผิดพลาด 404 สำหรับการตั้งค่านี้ ฉันรู้ว่า nginx และ PHP ทำงานได้และได้รับอนุญาตเนื่องจากการกำหนดค่าที่localhostฉันใช้งานได้ดี server { listen 80 default; server_name …
11 php  nginx  virtualhost 

2
วิธีทำให้ zabbix web สถานการณ์อัตโนมัติสำหรับ vhosts เป็นอย่างไร?
ฉันใหม่สำหรับ Zabbix และการตรวจสอบองค์กร ฉันเพิ่งติดตั้ง Zabbix 2.4 เสร็จแล้ว ฉันพยายามตรวจสอบสถานะของการvhostsจัดสรรทั้งหมดของเราบนเซิร์ฟเวอร์ที่แตกต่างกัน จนถึงตอนนี้ทางออกเดียวที่ฉันใช้คือเพิ่มWeb scenarioโฮสต์ Zabbix Server ด้วยตนเองสำหรับแต่ละรายการที่vhostฉันต้องการตรวจสอบ แต่มันก็ไม่สะดวก ค้นหารอบฉันได้พบฟอรั่มที่มีความคิดการทำงานบางส่วน: การใช้templateที่อ่านจากเซิร์ฟเวอร์เป้าหมายทั้งหมดvhosts(ผ่านmacro) และสร้างสำหรับแต่ละWeb scenariovhost แก้ไข : การแก้ปัญหานี้ (ขึ้นอยู่กับ Zabbix 2.2) ไม่ได้เพราะเป็นไปไม่ได้ที่จะใช้แนวหน้า (ค้นพบระดับต่ำ) Web scenariosด้วย มีความเป็นคำขอคุณลักษณะการเปิดตั้งแต่ 14 พฤศจิกายนที่จะใช้ในการLLDWeb scenarios คำถาม คำถามคือหากมีวิธีแก้ปัญหาหรือข้อเสนอแนะบางอย่างเกี่ยวกับวิธีการตรวจสอบแบบนี้ในขณะที่รอการใช้งานคุณสมบัติหรือวิธีการของฉันอาจผิดทั้งหมด

2
ฉันจะ“ ทดสอบ” โฮสติ้งเสมือนตามชื่อได้อย่างไร
เว็บไซต์ของเราmysite.comเป็นไปได้เป็นเจ้าภาพในเซิร์ฟเวอร์ที่มี virtual hosting (ชื่อ-based) 10.20.30.40ที่ อย่างไรก็ตามระเบียน DNS 66.77.88.99กำลังชี้ไปที่ ฉันต้องการเก็บระเบียน DNS เหล่านั้นไว้66.77.88.99ในขณะที่ทำการทดสอบ มีวิธีใดบ้างที่ฉันจะสามารถเข้าถึงได้10.20.30.40? เนื่องจากเซิร์ฟเวอร์เป้าหมายใช้การโฮสต์เสมือนฉันจึงไม่สามารถป้อนที่อยู่ IP เพื่อทดสอบบนไซต์เป้าหมายได้ นอกจากนี้ฉันไม่สามารถควบคุมเซิร์ฟเวอร์เป้าหมายได้ดังนั้นจึงไม่สามารถตั้งค่าโดเมนย่อยเพื่อทดสอบ

3
วิธีการปิดการใช้งานการเข้าถึง https ไปยังโฮสต์เสมือนที่เฉพาะเจาะจงได้อย่างไร
เอาล่ะฉันมีเซิร์ฟเวอร์ Apache ตั้งค่าด้วยคำสั่งต่อไปนี้: NameVirtualHost *:80 <VirtualHost *:80> ServerName example1.com ServerAlias www.example1.com DocumentRoot /var/www/html </VirtualHost> <VirtualHost *:80> ServerName example2.com ServerAlias *.example2.com DocumentRoot /var/www/example2 </VirtualHost> <VirtualHost example1.com:443> DocumentRoot /var/www/html ServerName example1.com:443 SSLEngine on ... </VirtualHosts> ดังนั้น example1.com มีการสนับสนุน SSL และสามารถเข้าถึงได้ผ่านทาง http: // example1.com หรือ https: // example1.com อย่างไรก็ตามสิ่งนี้มีผลข้างเคียงโดยไม่ตั้งใจจากการแสดง https: // example1.com เมื่อฉันไปที่ …

2
ไซต์ SSL ไม่ได้ใช้ IP ที่ถูกต้องใน Apache และ Ubuntu
ฉันพยายามตั้งค่าเว็บเซิร์ฟเวอร์ apache-ubuntu-php เว็บเซิร์ฟเวอร์ของฉันจะโฮสต์เว็บไซต์ SSL หลายแห่งแต่ละไซต์ SSL จะมีที่อยู่ IP ของตัวเอง (เว้นแต่จะมีวิธีที่ดีกว่าในการทำเช่นนี้) ดังนั้นฉันคิดว่าขั้นตอนแรกคือการรับ apache ที่จะรับรู้อย่างน้อยสองที่อยู่ IP ที่แตกต่างกัน ตอนนี้ผมมี SSL และไม่ใช่ SSL รุ่นของเว็บไซต์ที่เป็นhttp://mysite.comและhttps://mysite.com แม้ว่าทั้งสองกำลังทำงานบนเซิร์ฟเวอร์ของฉัน แต่ฉันไม่สามารถใช้ทั้งสองที่อยู่ IP ที่แตกต่างกัน ตอนนี้ทั้งคู่กำลังใช้ IP 1.1.1.1 ฉันซื้อที่อยู่ IP ที่สอง 2.2.2.2 แต่https://mysite.comจะไม่ยอมรับและ firefox จะบ่นกับข้อผิดพลาด "ssl_error_rx_record_too_long" นี่คือการดูไฟล์ 2 vhost ของฉัน / etc / apache2 / เว็บไซต์ที่เปิดใช้งาน / 000 เริ่มต้น #NameVirtualHost 1.1.1.1:80 …

3
Apache ไม่พบโฟลเดอร์ในระบบไฟล์ ผนวก“ \ xe2 \ x80 \ x9d” ที่ส่วนท้ายของเส้นทางไฟล์
ฉันมีสามโฮสต์เสมือนที่ทำงานใน apache2 บน Macintosh ส่วนตัวของฉันที่ใช้งาน OS X Mavericks และฉันรู้สึกสับสน พวกเขาถูกกำหนดค่าในไฟล์ httpd-vhosts.conf ของฉันดังนี้: <VirtualHost *:80> DocumentRoot "/Library/WebServer/Documents" ServerName localhost ServerAlias localhost </VirtualHost> <VirtualHost *:80> DocumentRoot "/Library/WebServer/Documents/dev1" ServerName dev1.local ServerAlias www.dev1.local </VirtualHost> <VirtualHost *:80> DocumentRoot "/Library/WebServer/Documents/dev2" ServerName dev2.local ServerAlias www.dev2.local </VirtualHost> <VirtualHost *:80> DocumentRoot "/Library/WebServer/Documents/dev3” ServerName dev3.local ServerAlias www.dev3.local </VirtualHost> หมายเหตุ: รายการแรกให้ฉันพิมพ์ใน …

3
วิธีการปิดการใช้งาน VirtualHost เริ่มต้นใน apache2?
ใน apache2 โดยการออกแบบคำขอ http ใด ๆ กับโฮสต์ที่ไม่รู้จักจะถูกนำไปยัง VirtualHost ที่โหลดครั้งแรก มีวิธีปิดใช้งานคุณสมบัตินี้หรือไม่? กล่าวว่าแตกต่างกันฉันต้องการมีเว็บเซิร์ฟเวอร์ที่ผู้ใช้อาจได้รับชื่อ VirtualHost นิยามอย่างชัดเจนเท่านั้น ชื่อโฮสต์อื่นใดที่ไม่ได้กล่าวถึงอย่างชัดเจนในบรรทัด ServerName หรือ ServerAlias ​​ควรถูกละเว้นไปโดยไม่แจ้งเตือน เป็นไปได้ไหม Listen 80 NameVirtualHost * <VirtualHost _default_:*> # Anything matching this host should be silently ignored. </VirtualHost> <VirtualHost *> DocumentRoot /www/example1 ServerName www.example.com </VirtualHost> <VirtualHost *> DocumentRoot /www/example2 ServerName www.example.org </VirtualHost> อัปเดต:ตามที่แนะนำด้านล่างและที่อื่น …

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