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

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

2
_default_ VirtualHost ทับซ้อนกันบนพอร์ต 80
ฉันได้เพิ่มโฮสต์เสมือน 2 แห่งลงในไฟล์ apache2 conf ของฉันดังนี้: <VirtualHost *:80> DocumentRoot /var/www/html/site1 ServerName www.site1.com ServerAlias site1.com </VirtualHost> <VirtualHost *:80> DocumentRoot /var/www/html/site2 ServerName www.site2.com ServerAlias site2.com </VirtualHost> ฉันได้รับข้อผิดพลาดหลังจากรีสตาร์ท apache ฉันได้รับ: [เตือน] ค่าเริ่มต้นของ VirtualHost เหลื่อมกันบนพอร์ต 80 ตัวแรกมีความสำคัญกว่า ค้นหา google และพวกเขาบอกว่ายกเลิกการใส่เครื่องหมายบรรทัดด้านล่างดังนั้นฉันจึง: NameVirtualHost *:80 เริ่มต้นใหม่และตอนนี้ฉันไม่ได้รับข้อผิดพลาด แต่ทั้งสองไซต์ไปที่ไซต์แรก วิ่ง Centos5 ฉันจะแก้ไขปัญหานี้ได้อย่างไร

4
เว็บเซิร์ฟเวอร์สุ่มให้บริการโฮสต์ที่แตกต่างกัน
เรามี nginx ที่ทำงานบน Ubuntu Trusty ให้บริการเว็บไซต์หลายแห่งผ่าน https โดยใช้ที่อยู่ IP เดียว สุ่มแม้ว่าดูเหมือนว่าจะเกี่ยวข้องกับภาระงานเล็กน้อย แต่บางครั้งคำขอเดียวก็เปิดใช้งาน vhost ผิด สิ่งนี้นำไปสู่คำขอเกี่ยวกับlustrum.thalia.nuการให้บริการโดยthalia.nuและในทางกลับกัน จากนั้นจะให้หน้าข้อผิดพลาดที่น่ารังเกียจเมื่อผู้ใช้จู่ ๆ ก็มีเว็บไซต์อื่น เมื่อคุณกดF5ผู้ใช้จะจบลงที่เป้าหมายเดิมอีกครั้ง ดูเหมือนว่าจะไม่เกี่ยวข้องกับเบราว์เซอร์หรือระบบปฏิบัติการ ได้รับการยืนยันว่าจะเกิดขึ้นบน Firefox (Linux, Windows, Mac), Edge (Windows) และ Chrome (Linux, Windows, Android) และ Safari (iOS) ปัญหานี้เกิดขึ้นบ่อยครั้งมากขึ้นเมื่อระบบอยู่ภายใต้การโหลดซึ่งบ่งบอกถึงสภาพการแข่งขันบางประเภท lustrum.thalia.nu server { server_name lustrum.thalia.nu; listen 443 ssl; ssl on; ssl_certificate /etc/nginx/certs/lustrum.thalia.nu.crt; ssl_certificate_key /etc/nginx/certs/lustrum.thalia.nu.key; …

8
การโฮสต์หลายไซต์ - ช่องโหว่ที่สำคัญที่พลาดไม่ได้ที่จะทำให้ไซต์ปลอดภัยจากกันคืออะไร?
แก้ไข # 2 23 กรกฎาคม 2558: ค้นหาคำตอบใหม่ที่ระบุรายการความปลอดภัยที่สำคัญที่ไม่ได้รับในการตั้งค่าด้านล่างหรืออาจให้เหตุผลที่จะเชื่อว่าทุกอย่างครอบคลุม แก้ไข # 3 29 กรกฎาคม 2015: ฉันกำลังมองหาการกำหนดค่าผิดพลาดโดยเฉพาะอย่างยิ่งโดยไม่ได้ตั้งใจอนุญาตให้บางสิ่งบางอย่างที่สามารถใช้ประโยชน์เพื่อหลีกเลี่ยงข้อ จำกัด ด้านความปลอดภัยหรือแย่ลง แต่ยังเปิดกว้าง นี่คือการตั้งค่าโฮสติ้งแบบหลายไซต์ / แชร์และเราต้องการใช้อินสแตนซ์ Apache ที่ใช้ร่วมกัน (เช่นทำงานภายใต้บัญชีผู้ใช้หนึ่งบัญชี) แต่ด้วย PHP / CGI ที่ทำงานในฐานะผู้ใช้ของแต่ละเว็บไซต์เพื่อให้แน่ใจว่าไม่มีไซต์ใด ๆ ตรวจสอบให้แน่ใจว่าไม่มีอะไรพลาด (เช่นถ้าเราไม่รู้เกี่ยวกับการป้องกันการโจมตี symlink) นี่คือสิ่งที่ฉันมี: ตรวจสอบให้แน่ใจว่าสคริปต์ PHP ทำงานเป็นบัญชีผู้ใช้และกลุ่ม Linux ของเว็บไซต์และถูกจำคุก (เช่นใช้ CageFS) หรืออย่างน้อยก็ถูก จำกัด อย่างถูกต้องโดยใช้สิทธิ์ระบบไฟล์ Linux ใช้ suexec เพื่อให้แน่ใจว่าสคริปต์ CGI ไม่สามารถทำงานได้ในฐานะผู้ใช้ Apache …

3
Apache - ฟังบนโดเมนที่ระบุเท่านั้นไม่ใช่ IP
ฉันจะกำหนดค่า Apache เพื่อที่จะปฏิเสธการเชื่อมต่อมาโดยตรงไปยังที่อยู่ IP ( http://xxx.xxx.xxx.xxx ) แทนชื่อ vhost http://example.com ? การกำหนดค่า VirtualHost ของฉัน: ServerName example.com <VirtualHost *:80> ServerName example.com DocumentRoot /var/www/ <Directory /var/www/> AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost>

1
การตั้งค่า SSL พร้อม apache หน้า Tomcat
ฉันกำลังพยายามตั้งค่า Apache ด้วย SSl และการร้องขอ SSL กับพร็อกซี Tomcat ของฉัน ฉันคิดว่าฉันทำงาน SSL แต่ยังมีข้อผิดพลาดที่ปรากฏขึ้น: Bad Gateway The proxy server received an invalid response from an upstream server. * SSL Virtualhost * LoadModule ssl_module modules/mod_ssl.so Listen 443 <VirtualHost _default_:443> SSLEngine On SSLProxyEngine On DocumentRoot "/var/apache-tomcat-7.0.34/webapps/Learn2Gether/" SSLCertificateFile /etc/pki/tls/learn2gether/cert-6090205098829887.pem SSLCertificateKeyFile /etc/pki/tls/learn2gether/private_key_unlocked.pem SSLCertificateChainFile /etc/pki/tls/learn2gether/rubca-chain.pem BrowserMatch ".*MSIE.*" …

2
อนุญาตการเข้าถึง PhpMyadmin บน virtualhost ที่ระบุเท่านั้น
ฉันกำลังทำงานกับ virtualhost Environment หลายตัว ฉันได้ติดตั้ง PhpMyadmin สำหรับการควบคุมระยะไกล Mysql สภาพแวดล้อมมีการกำหนดค่าดังนี้: one.domain.com two.domain.com onlyphpmyadmin.domain.com ตอนนี้ถ้าฉันเข้าถึงหนึ่งในสามโดเมน http://one.domain.com/phpmyadmin/ http://two.domein.com/phpmyadmin/ http://onlyphpmyadmin.domain.com/phpmyadmin/ ผลลัพธ์จะเหมือนกันอนุญาตให้เข้าถึง Phpmyadmin เป้าหมายคือรับสถานการณ์เช่นนี้ด้านล่าง http://one.domain.com/phpmyadmin/ --> access denied http://two.domein.com/phpmyadmin/ --> access denied http://onlyphpmyadmin.domain.com/phpmyadmin/ -->access allowed ซึ่งไม่มีแฮ็คที่คล้ายกับ <?php if($_SERVER['HTTP_HOST'] != 'onlyphpmyadmin.domain.com') die('access denied'); ... ?> ในไฟล์ Phpmyadmin บางไฟล์ นี่คือไฟล์การกำหนดค่า Phpmyadmin ของฉัน Alias /phpmyadmin /usr/share/phpmyadmin <Directory /usr/share/phpmyadmin> …

1
Puppet: การจัดการ Apache VirtualHosts (มากมาย)
ฉันเรียนรู้วิธีของฉันผ่านการจัดการการกำหนดค่าโดยทั่วไปและการใช้หุ่นเชิดเพื่อนำไปใช้เป็นพิเศษ ฉันได้ทำการวิจัยทั่วไปแล้ว ( เช่นเดียวกับ SF ) และตอนนี้ฉันกำลังพิจารณา Apache VirtualHosts เราโฮสต์เว็บไซต์LAMPจำนวนมาก(ปัจจุบันอยู่ในช่วงร้อย) บนสองระบบ: Apache2 / mod_phpหนึ่งและMySQLหนึ่ง - โดยทั่วไปแล้วตรงกันข้ามกับคำถามอื่นแล้วใน SFที่เขาจัดการเซิร์ฟเวอร์จำนวนมากที่มี vhosts ไม่กี่แต่ละ (ถ้า ไม่ใช่อันที่จริงฉันไม่รู้) ฉันยังไม่ได้รวบรวมหุ่นที่ใช้งานได้ แต่มันไม่น่าจะมีปัญหามีตัวอย่างมากมาย และสูตรอาหารอยู่ที่นั่น นอกเหนือจากไฟล์กำหนดค่า apache ที่เห็นได้ชัด (ไม่มีปัญหาที่นี่ฉันเดา) ทุก vhost จะต้องมีบางไดเรกทอรีที่สร้างและตรวจสอบสิทธิ์ (เช่น. root dir สำหรับแต่ละ vhost มี documentroot, tmp dir โดยเฉพาะ, เฉพาะ ไฟล์เซสชัน php dir, อาจเป็นใบรับรอง SSL และอื่น ๆ ) …

2
จะตรวจสอบ CentOS 6 Server VM Host ได้อย่างไรหลังจากที่เกิดไฟตก?
บ่ายนี้มีคนในสำนักงานของเราตัดสินใจดึงปลั๊กออกจากเซิร์ฟเวอร์ของเราเพราะมันกำลังพุ่งออกมาข้างนอก พวกเขาไม่ได้ปิดตัวเองพวกเขาเพียงดึงปลั๊กออกในขณะที่มันกำลังทำงานอยู่ เซิร์ฟเวอร์มีไดรฟ์ SATA 4 ตัวในการกำหนดค่าซอฟต์แวร์ RAID 10 และ LVM ทำงานอยู่ด้านบนของ RAID เซิร์ฟเวอร์กำลังเรียกใช้ CentOS 6.2 Minimal และเป็นโฮสต์เครื่องเสมือนโดยใช้ KVM ในขณะที่ไม่ได้เสียบปลั๊กมีเครื่องแขกจำนวนมากที่ทำงานบนคอมพิวเตอร์ แขกแต่ละคนมีพาร์ติชัน LVM หนึ่งพาร์ติชั่นที่ใช้โดยตรงเป็นฮาร์ดไดรฟ์ พาร์ติชันเกสต์คือ EXT3, EXT4 และ NTFS Host OS อยู่ในพาร์ติชัน EXT4 ต่อมาเมื่อพลังงานกลับมาคนนั้นเสียบกลับเข้าไปใหม่และเริ่มขึ้น เนื่องจากพวกเขาเสียบปลั๊กโดยไม่ต้องต่อจอภาพก่อนจึงไม่มีทางที่จะเห็นสิ่งที่เกิดขึ้นบนหน้าจอ ฉันพยายามแนบจอภาพตอนนี้ แต่มันไม่ทำงานเว้นแต่ว่าจอภาพเชื่อมต่อตอนบูต ฉันทิ้งไว้เหมือนเดิมจนกว่าฉันจะได้รับคำแนะนำเพราะฉันไม่ต้องการที่จะทำอะไรผิดพลาด (เพิ่มเติม) ฉันสามารถเข้าสู่โฮสต์ผ่าน SSH ฉันยังไม่ได้บูตเครื่องใหม่ในกรณีที่มีบางสิ่งในบันทึกที่อาจเป็นประโยชน์ สิ่งที่ฉันต้องทำคือตรวจสอบดิสก์และพาร์ติชั่นทั้งหมดเพื่อตรวจสอบความถูกต้องของข้อมูลหากเป็นไปได้ ฉันคิดว่า RAID 10 ใช้แคชตามหน่วยความจำบางประเภทและฉันกังวลเกี่ยวกับไดรฟ์ที่ไม่สอดคล้องกันหรือไฟล์เสียหายหากมีสิ่งต่าง ๆ ในคิวเพื่อเขียนไปยังไดรฟ์ที่ยังไม่ได้เขียน [root@othello ~]# cat …

4
ต้องการความช่วยเหลือในการแก้ไขปัญหาข้อผิดพลาดเว็บเซิร์ฟเวอร์ Https - SSL Handshake ล้มเหลว
ฉันทำตามคำแนะนำนี้: http://hints.macworld.com/article.php?story=20041129143420344 นี่คือคำจำกัดความโฮสต์เสมือนของฉัน <VirtualHost *:443> SSLEngine on SSLProxyEngine On RequestHeader set Front-End-Https "On" CacheDisable * SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL DocumentRoot "/Users/me/projects/myproject/public" ServerName ssl.mydomain.com ServerAlias *.ssl.mydomain.com SSLCertificateKeyFile "/private/etc/apache2/certs/webserver.nopass.key" SSLCertificateFile "/private/etc/apache2/certs/newcert.pem" SSLCACertificateFile "/private/etc/apache2/certs/demoCA/cacert.pem" SSLCARevocationPath "/private/etc/apache2/certs/demoCA/crl" ErrorLog "/Users/me/Desktop/ssl.log" ProxyPass / https://localhost:3002/ ProxyPassReverse / https://localhost:3002 ProxyPreserveHost on </VirtualHost> และเมื่อฉันลองเชื่อมต่อกับเว็บเบราว์เซอร์ sevre viov ฉันได้รับข้อผิดพลาดนี้: [Thu Feb 02 16:50:40 …

1
คุณจะตั้งค่า ENV เฉพาะเซิร์ฟเวอร์ใน Nginx ได้อย่างไร
ฉันกำลังเริ่มโครงการที่ใช้ตัวแปรสภาพแวดล้อมเพื่อตั้งค่าการเชื่อมต่อฐานข้อมูลและอีกสองอย่าง (พวกเขาไม่ต้องการใช้ไฟล์การกำหนดค่าเนื่องจากคนไม่สนใจและเขียนทับพวกเขา) อย่างไรก็ตามผมกำลังใช้ Nginx และในขณะที่จะสนับสนุน env - มันดูเหมือนจะไม่สนับสนุนมันได้ดีพอ คุณไม่สามารถตั้งค่า env บนพื้นฐานบล็อกต่อเซิร์ฟเวอร์ กล่าวอีกนัยหนึ่งสิ่งนี้จะไม่ทำงาน: server { listen 80; server_name domain; env FOO = "bar"; } คุณต้องทำสิ่งนี้: env FOO = "bar"; http { server { listen 80; server_name domain; } } ซึ่งหมายความว่าฉันไม่สามารถมีค่าเฉพาะ vhost ดังนั้นฉันต้องสร้างการกำหนดค่า vhost ทั้งหมดสำหรับแต่ละไซต์และเปิดใช้งานเฉพาะสิ่งที่ฉันต้องการในขณะนั้นเพื่อให้การตั้งค่าถูกต้อง มีวิธีใดบ้างในการแก้ไขปัญหานี้?

5
Apache โฮสต์เสมือนตาม * source * IP
เป็นไปได้หรือไม่ที่จะกำหนดค่า Apache สำหรับโฮสต์เสมือนที่แตกต่างกันตามIP ต้นทาง ? (เช่นอินเทอร์เฟซเดียวกันชื่อโฮสต์เดียวกัน แต่โฮสต์เสมือนที่แตกต่างกันสองรายการซึ่งมีเนื้อหาแตกต่างกันตามIP ต้นทาง ) แรงจูงใจในการทำเช่นนี้คือเพื่อให้ที่อยู่ IP ของฉันสามารถเข้าถึงเว็บไซต์ได้อย่างเหมาะสม แต่ทุกคนจะได้รับหน้าการถือครอง โซลูชันทั่วไปดูเหมือนว่าจะใช้ mod_rewrite เพื่อนำผู้เข้าชมไปยังหน้าแยกต่างหากภายใน docroot เดียวกัน แต่ฉันต้องการใช้ docroot ที่แตกต่างกันโดยสิ้นเชิงสำหรับหน้าโฮลดิ้งแทน

5
Apache ไม่ปฏิบัติตามคำสั่งชื่อเซิร์ฟเวอร์สำหรับไซต์ใดไซต์หนึ่งโดยเฉพาะ
ฉันมีไซต์ไม่กี่แห่งที่ได้รับการกำหนดค่าเป็น VirtualHosts โดยใช้ Apache ซึ่งทำงานได้ดีมาระยะหนึ่งแล้ว ฉันเพิ่งเปลี่ยนชื่อโฮสต์ของเซิร์ฟเวอร์เป็นหนึ่งในชื่อโดเมนที่ให้บริการและยังเพิ่มลงใน / etc / โฮสต์ที่ชี้ไปยังที่อยู่ IP ภายนอกของเซิร์ฟเวอร์ ตั้งแต่ฉันทำเช่นนั้นการเข้าถึงโดเมนจากแล็ปท็อปของฉันจะนำฉันไปสู่การเริ่มต้นของ Apache "มันใช้งานได้!" หน้า. หากฉันลบ 000- ค่าเริ่มต้นจาก / etc / apache2 / sites-enabled / มันจะแสดงเว็บไซต์ที่ถูกต้อง พยายามเข้าถึงเว็บไซต์ด้วย 'www.' คำนำหน้านำฉันไปยังไซต์ที่ถูกต้องไม่ว่าจะเป็น 000- ค่าเริ่มต้นอยู่ในเว็บไซต์ที่เปิดใช้งาน จากทั้งหมดนั้นฉันเดาว่าการกำหนดค่าเริ่มต้นจะแสดงหน้าเริ่มต้นเนื่องจากวิธีที่ฉันกำหนดค่าชื่อโฮสต์หรือ / etc / hosts (หรือทั้งสองอย่าง) แต่ฉันไม่สามารถหาวิธีปิดใช้งานในขณะที่ ออกจากการตั้งค่าเหล่านั้นตามที่พวกเขาเป็น ข้อเสนอแนะใด ๆ ยินดีต้อนรับ! แก้ไข - การกำหนดค่า VirtualHost ปัจจุบันของฉันมีลักษณะดังนี้: <VirtualHost *:80> …

2
หนึ่ง ip บนพอร์ต 80 ที่มีชื่อโฮสต์และพอร์ตต่างกันไม่แน่นอน
ฉันไม่แน่ใจว่าจะถามหรืออธิบายด้วยคำพูดในสิ่งที่ฉันพยายามจะทำหรือถ้ามันสามารถทำได้ด้วยวิธีนี้ดังนั้นฉันจึงตัดสินใจวาดไดอะแกรม หวังว่ามันจะอธิบายตนเองอย่างเป็นธรรม: ฉันรู้ว่าฉันสามารถทำโฮสต์เสมือนที่ตั้งชื่อตามทั้งหมดในพอร์ต 80 แต่ฉันสามารถวางไว้บนพอร์ตต่าง ๆ และให้เซิร์ฟเวอร์ทำงานว่าโฮสต์ที่มีชื่อคืออะไรและพอร์ตใดที่พวกเขาใช้อยู่ <VirtualHost _default_:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/foo-1.com <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/foo-1.com/> Options -Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> </VirtualHost> <VirtualHost _default_:80> DocumentRoot /var/www/foo-2.com ServerName foo-2.com <Directory "/var/www/foo-2.com"> allow from all Options -Indexes </Directory> </VirtualHost>

1
การตั้งค่า DNS สำหรับโฮสต์เสมือนบน IP เดียวกัน
ฉันมีหลายโดเมนที่โฮสต์บนเซิร์ฟเวอร์หนึ่งที่มีที่อยู่ IP เพียงอันเดียวก่อนหน้านี้มันถูกติดตั้งโดยคนอื่นและฉันต้องเปลี่ยนโดเมนผู้ให้บริการและต้องตั้งค่า DNS สำหรับเซิร์ฟเวอร์ เว็บไซต์หลัก mainsite.example.com ได้รับการตั้งค่าให้ทำงานกับโดเมนได้สำเร็จโดยการตั้งค่า CNAME สำหรับโดเมนไปยัง mainsite.example.com และบันทึก @ เป็นที่อยู่ IP ตอนนี้กำลังพยายามติดตั้งเว็บไซต์อื่นที่ไม่ปรากฏใน mainsite.example.com หรือชื่อแทนอื่น แต่กำลังพยายามรับการตั้งค่า DNS ที่เหมาะสมสำหรับโดเมนนี้

3
CentOS vhost แสดงหน้า apache เริ่มต้น [ปิด]
ฉันใช้ CentO 6.2 บนเซิร์ฟเวอร์นี้ฉันต้องการโฮสต์ 1 เว็บไซต์ ฉันสร้าง vhost ใน httpd.conf คุณสามารถดูการตั้งค่าด้านล่าง ปัญหาคือเมื่อฉันไปที่โดเมนฉันได้รับหน้าเริ่มต้น apache ฉันรีสตาร์ท httpd deamon ไม่มีใครรู้ว่าสิ่งที่ฉันอาจจะทำผิด? NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin helpdesk@***.nl DocumentRoot /var/website ServerName ***.nl #ServerAlias www.***.nl ErrorLog logs/***.nl-error_log CustomLog logs/***.nl-access_log common </VirtualHost> แก้ไข: ฉันตรวจสอบบันทึก: บันทึกการเข้าถึง: 77.160.172.88 - - [27/Nov/2012:20:37:10 +0100] "GET / HTTP/1.1" 403 5039 77.160.172.88 - …

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