ไม่สามารถระบุชื่อโดเมนแบบเต็มของเซิร์ฟเวอร์ได้อย่างน่าเชื่อถือ


110

ฉันเพิ่งติดตั้ง Apache 2.2.17 และฉันใช้งานครั้งแรก

ตอนนี้เมื่อฉันพยายามเริ่มเซิร์ฟเวอร์โดยใช้คำสั่งservice httpd startมันให้ข้อความ:

httpd: ไม่สามารถระบุชื่อโดเมนแบบเต็มของเซิร์ฟเวอร์ได้อย่างน่าเชื่อถือโดยใช้ :: 1 สำหรับ ServerName

ตอนนี้ฉันคิดว่าฉันต้องตั้ง ServerName และที่อยู่ IP เมื่อฉันค้นหาผ่าน Google แต่ฉันไม่ทราบว่าฉันต้องตั้งค่าไฟล์ใด

ฉันจะแก้ไขปัญหานี้ได้อย่างไร?

คำตอบ:


66

ใช่คุณควรตั้ง ServerName:

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

http://httpd.apache.org/docs/current/mod/core.html#servername

คุณสามารถค้นหาข้อมูลเกี่ยวกับเค้าโครงที่ใช้โดยการแจกแจง httpd ต่างๆได้ที่นี่:

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

ในกรณีของคุณไฟล์ที่จะแก้ไขคือ /etc/httpd/conf/httpd.conf


สวัสดีขอบคุณมากสำหรับ answares ของคุณฉันได้แก้ไข /etc/httpd/conf/httpd.conf และพยายามตั้งค่า ServerName ดังนี้ ฟัง 80 NameVirtualHost 172.20.30.40:80 <VirtualHost 172.20.30.40:80> ServerName www.example1.com DocumentRoot / home / user / Softwares / mysite / </VirtualHost>** แต่ฉันยังได้รับข้อความแสดงข้อผิดพลาดด้านล่าง .. ** เริ่มต้น httpd: คำเตือน: DocumentRoot [/ home / user / Softwares / mysite] ไม่มี httpd: ไม่สามารถระบุเซิร์ฟเวอร์ได้อย่างน่าเชื่อถือ ชื่อโดเมนที่ผ่านการรับรองโดยใช้ :: 1 สำหรับ ServerName
mahesh

81
  1. sudo vim /etc/apache2/httpd.conf
  2. แทรกบรรทัดต่อไปนี้ที่ httpd.conf: ServerName localhost
  3. เพียงรีสตาร์ท Apache: sudo /etc/init.d/apache2 restart

2
ใน RPi ของฉันฉันต้องใส่ไฟล์ httpd.conf ใน /etc/apache2/conf.d เพื่อให้ใช้งานได้
samkass

ใช้ Ubuntu 13.04 ฉันต้องใส่ลงใน /etc/apache2/conf.d/httpd.conf ด้วยไม่มีอะไรใช้งานได้ ...
user1853181

ขอขอบคุณที่สิ่งนี้ช่วยแก้ปัญหาของฉันได้เช่นกัน ฉันเพิ่งตั้งชื่อโฮสต์จริงใน / etc / hosts และ apache นี้พังจนกว่าฉันจะตั้ง ServerName localhost ในบริบทส่วนกลาง ขณะนี้ vhost กำลังทำงานอีกครั้งและใบรับรอง SSL ได้รับการบริการอย่างถูกต้อง
AaronM

15

ฉันไม่ได้รับ ServerName ผิด ภายในกำหนดค่า VirtualHost ของคุณที่เป็นสาเหตุของข้อความคำเตือนนี้ก็เป็นหนึ่งทั่วไปใกล้ด้านบนของของคุณ httpd.conf ซึ่งจะเริ่มต้นด้วยการแสดงความคิดเห็นออกมา

เปลี่ยน

#ServerName www.example.com:80

ถึง:

  ServerName 127.0.0.1:80

10

ภายใต้ Debian Squeeze;

  1. แก้ไขไฟล์ Apache2 conf: vim /etc/apache2/apache2.conf
  2. แทรกบรรทัดต่อไปนี้ที่ apache2.conf: ServerName localhost
  3. รีสตาร์ท Apache2: apache2ctl รีสตาร์ทหรือ /etc/init.d/apache2 รีสตาร์ท

ควรทำงานได้ดี (มันช่วยแก้ปัญหาในกรณีของฉันได้)

tks นู๊ดสำหรับลิงค์บนเลย์เอาต์ต่างๆ :)


4

อีกทางเลือกหนึ่งคือเพื่อให้แน่ใจว่าชื่อโฮสต์แบบเต็ม (FQDN) แสดงอยู่ใน / etc / hosts สิ่งนี้ใช้ได้กับฉันบน Ubuntu v11.10 โดยไม่ต้องเปลี่ยนการกำหนดค่า Apache เริ่มต้น


4
  1. sudo nano /etc/apache2/httpd.conf
  2. ค้นหาข้อความServerNameในโปรแกรมแก้ไขนาโน<Ctrl + W>
  3. แทรกบรรทัดต่อไปนี้ที่ httpd.conf: ServerName localhost
  4. เพียงรีสตาร์ท Apache: sudo /usr/sbin/apachectl restart

3

"ในการแก้ปัญหานี้คุณต้องตั้ง ServerName

1: $ vim /etc/apache2/conf.d/name ตัวอย่างเช่น set add ServerName localhost หรือชื่ออื่น ๆ :

2: ServerName localhost รีสตาร์ท Apache 2

3: $ service apache restart สำหรับตัวอย่างนี้ฉันใช้Ubuntu 11.10.1.125 "


1

FQDN หมายถึงชื่อที่แก้ไขแล้วบน DNS ควรเป็นแบบ "server-name.search-domain"

คำเตือนที่คุณได้รับเพียงแค่แจ้งให้ทราบว่า httpd ไม่พบ FQDN ดังนั้นจึงอาจไม่ทำงานอย่างถูกต้องในการจัดการโฮสต์เสมือนตามชื่อ ดังนั้นตรวจสอบให้แน่ใจว่า FQDN ที่คาดไว้ได้รับการลงทะเบียนในเซิร์ฟเวอร์ DNS ของคุณหรือเพิ่มรายการด้วยตนเอง/etc/hostsก่อนที่จะกดปุ่ม DNS


0

มีสองสิ่งที่ดูเหมือนจะทำเพื่อฉัน:

  1. ใส่นามแฝงทั้งหมดสำหรับ 127.0.0.1 ใน / etc / hosts ในบรรทัดเดียว (เช่น 127.0.0.1 localhost mysite.local myothersite.local
  2. ตั้งค่าServerNameใน httpd.conf ของฉันเป็น0.0.0.0(localhost หรือ 127.0.0.1 ไม่ได้ผลสำหรับฉัน)

การแก้ไข / etc / hosts กำจัดเวลาตอบสนองที่ยาวนานและการตั้งค่า ServerName ได้กำจัดคำเตือนของ OP สำหรับฉัน


0

ที่ยังแก้ปัญหาไม่ได้และใช้ mac แล้วทำตามนี้

1. ไปที่โฟลเดอร์รูท /

  1. ซีดี usr / local / etc / apache2 / 2.4

3.sudo nano httpd.conf

4. เปลี่ยน #servername เป็น ServerName 127.0.0.1:8080 กด ctrl + o, + return + ctrl x

5. จากนั้นรีสตาร์ทเซิร์ฟเวอร์ apachectl รีสตาร์ท


0

หากคุณใช้ windows มีสถานการณ์บางอย่างที่แตกต่างออกไป

เปิดครั้งแรกc:/apache24/conf/httpd.conf. โฟลเดอร์ Apache ไม่เพียงพอโดยเฉพาะเหนือเส้นทาง

หลังจากนั้นคุณต้องกำหนดค่าไฟล์ httpd.conf

หลังจากไม่กี่บรรทัดจะมีรูปแบบเช่น:

#Listen _____________:80
Listen 80

ที่นี่คุณต้องเปลี่ยนสำหรับไฟล์localhost.

คุณต้องป้อนที่อยู่ ipv4 เพื่อให้คุณสามารถเปิด localhost ได้

อ้างอิงลิงค์วิดีโอนี้และหลังจากนั้นอีกเล็กน้อย

เปลี่ยนตัวแปรสภาพแวดล้อมของคุณ:

รูปภาพสำหรับตัวแปรสภาพแวดล้อม USER ในการตั้งค่าระบบ

ซึ่งคุณต้องเข้าสู่เส้นทาง:

c:apache24/bin

และ
เหมือนกันในตัวแปร SYSTEM

รูปภาพใช้สำหรับเส้นทางตัวแปรระบบ

หากมีคำถามใด ๆ อย่าลังเลที่จะถาม


0

หากคุณใช้ windows ให้ลบความคิดเห็นในบรรทัดเหล่านี้และตั้งค่าเป็น:

Line 227 : ServerName 127.0.0.1:80 
Line 235 : AllowOverride all 
Line 236 : Require all granted

ทำงานให้ฉัน!


0

นี่คือสองเซ็นต์ของฉัน อาจจะเป็นประโยชน์สำหรับผู้อ่านในอนาคต

ฉันพบปัญหานี้เมื่อใช้ Apache ภายในคอนเทนเนอร์ Docker เมื่อฉันเริ่มคอนเทนเนอร์จากรูปภาพของเว็บเซิร์ฟเวอร์ Apache ข้อความนี้จะปรากฏขึ้นเมื่อฉันเริ่มต้นด้วยdocker run -it -p 80:80 my-apache-containerที่ข้อความนี้ปรากฏเมื่อฉันเริ่มต้นด้วย

อย่างไรก็ตามหลังจากเริ่มคอนเทนเนอร์ในโหมดแยกออกโดยใช้docker run -d -p 80:80 my-apache-containerฉันสามารถเชื่อมต่อผ่านเบราว์เซอร์ได้

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