मैं Apache2 httpd त्रुटि "मिक्सिंग * पोर्ट्स और नॉन- * पोर्ट्स को NameVirtualHost एड्रेस के साथ कैसे हल कर सकता हूं"


24

अपाचे 2 को बूट करते समय मुझे यहां मिली त्रुटि है:

 * Starting web server apache2
 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
 [Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
 [Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
 [Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
 [Wed Oct 21 16:37:26 2009] [error] VirtualHost *:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
 [Wed Oct 21 16:37:26 2009] [warn] NameVirtualHost *:80 has no VirtualHosts

मैंने पहले कई साइटों को होस्ट करने के लिए अपाचे की स्थापना पर इस गाइड का अनुसरण किया:

http://www.debian-administration.org/articles/412

मैंने तब ServerFault पर एक समान प्रश्न पाया और समाधान को लागू करने की कोशिश की, लेकिन इससे कोई फायदा नहीं हुआ।

यहाँ मेरा अंतिम VirtualHost config का एक उदाहरण है:

<VirtualHost *:80>
    ServerAdmin admin@xxx.com
    ServerName  www.xxx.com
    ServerAlias xxx.com

    # Indexes + Directory Root.
    DirectoryIndex index.html
    DocumentRoot /var/www/www.xxx.com

    # Logfiles
    ErrorLog  /var/www/www.xxx.com/logs/error.log
    CustomLog /var/www/www.xxx.com/logs/access.log combined
</VirtualHost>

डोमेन के साथ X निर्दोष की रक्षा के लिए बाहर :-)

इसके अलावा, मेरे पास conf.d / virtual.conf फ़ाइल इस तरह दिखने वाले गाइड में उल्लिखित है:

NameVirtualHost *

अजीब बात यह है कि तीन साइटों में से दो के लिए सब कुछ ठीक काम करता है।


अपना पूरा (!) अपाचे httpd विन्यास या कम से कम प्रत्येक NameVirtualHost और <VirtualHost ...> पंक्ति पोस्ट करें।
जोशी

आप एक ही आईपी पर दो प्रकारों को नहीं मिला सकते हैं: पोर्ट। मेरे पास एक सेटअप है जहां मेरे पास दो आईपी हैं, एक में मासोवहोस्ट लटका हुआ था, दूसरे में सभी नियमित नामांकित मेजबान थे। इससे भी महत्वपूर्ण बात यह है कि लक्ष्य क्या है? आप क्या हासिल करने का प्रयास कर रहे हैं? आपकी अड़चनें क्या हैं?
मार्सिन

जवाबों:


29

नाम NameVirtualHostवाले आईपी पते को प्रत्येक VirtualHostतत्व में आईपी पते से मेल खाना है ।

उदाहरण:

NameVirtualHost *:80
NameVirtualHost *:81

<VirtualHost *:80>
# ...
</VirtualHost>

<VirtualHost *:81>
# ...
</VirtualHost>

# This will not work!
<VirtualHost *>
# ...
</VirtualHost>

विवरण के लिए अपाचे वर्चुअल होस्ट प्रलेखन पढ़ें ।


काश मैं एक से अधिक बार वोट डाल सकता। वे वास्तव में प्रलेखन में इसे और अधिक स्पष्ट रूप से कॉल करना चाहिए।
एलेक्स डब्ल्यू

13

इसे बदलें:

NameVirtualHost *

इसके साथ:

NameVirtualHost *:80

2
मैं सरल उत्तर की सराहना करता हूं और चाहता हूं कि मैं दोनों को स्वीकार कर
सकूं

5

प्रतिक्रियाओं में जोड़ते हुए, एक चीज़ जो मैंने देखी है कि आप बिना किसी स्पष्ट घोषणा के एसएसएल को नहीं चला सकते हैं: हर NameVirtualHost और VirtualHost निर्देशों पर 80, Apache होने का समर्थन नहीं करेगा:

NameVirtualHost *

तथा

NameVirtualHost *: 443

यदि आप ऐसा करते हैं, तो एक ही कॉन्फ़िगरेशन में मिश्रित, आपको अपाचे को पोर्ट जीरो पर सुनने में त्रुटियां मिलेंगी।

मेरे लिए मैंने अभी-अभी जोड़ा है: हर मेजबान के लिए 80 इसलिए एसएसएल स्वामित्व में काम कर सकता है।


0

उदाहरण के लिए:

<VirtualHost 85.25.97.252:80>
सर्वर नाम domain.com
सर्वर का * .domain.com
ServerAdmin webmaster@domain.com
DocumentRoot "/var/www/domain.com/httpdocs/"
<निर्देशिका "/var/www/domain.com/ httpdocs / ">
विकल्प अनुक्रमणिका FollowSymLinks
AllowOverride सभी
ऑर्डर की अनुमति,
सभी
</ निर्देशिका>
</ VirtualHost> से अनुमति देने से इनकार करते हैं

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.