Không thể xác định một cách đáng tin cậy tên miền đủ điều kiện của máy chủ


110

Tôi vừa cài đặt Apache 2.2.17 và tôi đang sử dụng nó lần đầu tiên.

Bây giờ khi tôi cố gắng khởi động máy chủ bằng lệnh, service httpd startnó sẽ cho tôi thông báo:

httpd: Không thể xác định một cách đáng tin cậy tên miền đủ điều kiện của máy chủ, sử dụng :: 1 cho ServerName

Bây giờ tôi nghĩ rằng tôi phải đặt ServerName và địa chỉ IP khi tôi tìm kiếm thông qua Google. Nhưng tôi không biết mình phải đặt ở tệp nào.

Làm cách nào để khắc phục sự cố này?

Câu trả lời:


66

Có, bạn nên đặt ServerName:

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

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

Bạn có thể tìm thông tin về các bố cục được sử dụng bởi các bản phân phối httpd khác nhau tại đây:

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

Trong trường hợp của bạn, tệp cần chỉnh sửa là /etc/httpd/conf/httpd.conf


Xin cảm ơn rất nhiều cho câu trả lời của bạn, tôi đã chỉnh sửa /etc/httpd/conf/httpd.conf và cố gắng đặt ServerName như sau Nghe 80 NameVirtualHost 172.20.30.40:80 <VirtualHost 172.20.30.40:80> ServerName www.example1.com DocumentRoot / home / user / Softwares / mysite / </VirtualHost>** Nhưng tôi vẫn nhận được thông báo lỗi bên dưới .. ** Đang khởi động httpd: Cảnh báo: DocumentRoot [/ home / user / Softwares / mysite] không tồn tại httpd: Không thể xác định một cách đáng tin cậy toàn bộ máy chủ tên miền đủ điều kiện, sử dụng :: 1 cho ServerName
mahesh

81
  1. sudo vim /etc/apache2/httpd.conf
  2. Chèn dòng sau tại httpd.conf: ServerName localhost
  3. Chỉ cần khởi động lại Apache: sudo /etc/init.d/apache2 restart

2
Trên RPi của mình, tôi phải đặt tệp httpd.conf vào /etc/apache2/conf.d để nó hoạt động.
samkass,

Sử dụng Ubuntu 13.04, tôi đã phải đặt nó vào /etc/apache2/conf.d/httpd.conf là tốt, không có gì khác làm việc ...
user1853181

Cảm ơn bạn, điều này cũng giải quyết vấn đề của tôi. Gần đây tôi đã đặt tên máy chủ thực tế trong / etc / hosts và điều này đã phá vỡ apache cho đến khi tôi đặt ServerName localhost trong ngữ cảnh chung. Bây giờ vhost đang hoạt động trở lại và chứng chỉ SSL đang được cung cấp đúng cách.
AaronM

15

Tôi KHÔNG nhận được Tên máy chủ sai. Bên trong cấu hình VirtualHost của bạn gây ra thông báo cảnh báo này, đó là cấu hình chung ở gần đầu httpd.conf của bạn, theo mặc định được nhận xét là không có.

Thay đổi

#ServerName www.example.com:80

đến:

  ServerName 127.0.0.1:80

10

Trong Debian Squeeze;

  1. Chỉnh sửa tệp conf Apache2: vim /etc/apache2/apache2.conf
  2. Chèn dòng sau tại apache2.conf: ServerName localhost
  3. Khởi động lại Apache2: khởi động lại apache2ctl hoặc /etc/init.d/apache2 khởi động lại

Sẽ hoạt động tốt (nó đã giải quyết được vấn đề trong trường hợp của tôi)

tks tks cho liên kết trên các bố cục khác nhau. :)


4

Một tùy chọn khác là đảm bảo rằng tên máy chủ đủ điều kiện (FQDN) được liệt kê trong / etc / hosts. Điều này đã làm việc cho tôi trên Ubuntu v11.10 mà không cần phải thay đổi cấu hình Apache mặc định.


4
  1. sudo nano /etc/apache2/httpd.conf
  2. tìm kiếm văn bản ServerNametrong trình soạn thảo nano<Ctrl + W>
  3. Chèn dòng sau tại httpd.conf: ServerName localhost
  4. Chỉ cần khởi động lại Apache: sudo /usr/sbin/apachectl restart

3

"Để giải quyết vấn đề này, bạn cần đặt ServerName.

1: $ vim /etc/apache2/conf.d/name Ví dụ đặt thêm ServerName localhost hoặc bất kỳ tên nào khác:

2: ServerName localhost Khởi động lại Apache 2

3: $ service apache restart Đối với ví dụ này, tôi sử dụng Ubuntu 11.10.1.125 "


1

FQDN có nghĩa là tên được phân giải qua DNS. Nó phải giống như "server-name.search-domain".

Cảnh báo bạn nhận được chỉ cung cấp một thông báo rằng httpd không thể tìm thấy FQDN, vì vậy nó có thể không hoạt động tốt khi xử lý máy chủ ảo dựa trên tên. Vì vậy, hãy đảm bảo FQDN dự kiến ​​đã được đăng ký trong máy chủ DNS của bạn hoặc thêm mục nhập theo cách thủ công /etc/hoststrước khi nhấn DNS.


0

Hai điều dường như làm điều đó cho tôi:

  1. Đặt tất cả các bí danh cho 127.0.0.1 trong / etc / hosts vào một dòng duy nhất (ví dụ: 127.0.0.1 localhost mysite.local myothersite.local
  2. Đặt ServerNametrong httpd.conf của tôi thành 0.0.0.0(localhost hoặc 127.0.0.1 không hoạt động với tôi)

Việc chỉnh sửa / etc / hosts đã loại bỏ thời gian phản hồi lâu và thiết lập ServerName đã loại bỏ cảnh báo của OP cho tôi.


0

những người vẫn không thể giải quyết sự cố và sử dụng mac, hãy làm theo điều này

1. chuyển thư mục gốc /

  1. cd usr / local / etc / apache2 / 2.4

3.sudo nano httpd.conf

4. thay đổi #servername thành ServerName 127.0.0.1:8080 nhấn ctrl + o, + return + ctrl x

5. sau đó khởi động lại máy chủ apachectl khởi động lại


0

Nếu bạn đang sử dụng cửa sổ, có một số tình huống khác

Lần đầu tiên mở c:/apache24/conf/httpd.conf. Thư mục Apache không đủ đường dẫn cụ thể ở trên

Sau đó, bạn phải cấu hình tệp httpd.conf.

Chỉ sau vài dòng, có mẫu như:

#Listen _____________:80
Listen 80

Ở đây Bạn phải thay đổi cho localhost.

Bạn phải nhập địa chỉ ipv4 để có thể mở localhost.

Tham khảo liên kết video này và sau đó chỉ thêm một chút nữa.

Thay đổi các biến môi trường của bạn:

Hình ảnh cho môi trường Biến USER trong cài đặt hệ thống

Trong đó bạn phải nhập đường dẫn:

c:apache24/bin


tương tự trong các biến HỆ THỐNG

Hình ảnh dành cho đường dẫn biến hệ thống

Nếu có bất kỳ câu hỏi nào hãy hỏi.


0

Nếu bạn đang sử dụng windows, hãy xóa bình luận trên những dòng này và đặt chúng là:

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

Đã làm cho tôi!


0

Đây là hai xu của tôi. Có lẽ nó hữu ích cho những độc giả trong tương lai.

Tôi gặp sự cố này khi sử dụng Apache trong vùng chứa Docker. Khi tôi bắt đầu một vùng chứa từ một hình ảnh của máy chủ web Apache, thông báo này xuất hiện khi tôi khởi động nó với docker run -it -p 80:80 my-apache-container.

Tuy nhiên, sau khi khởi động vùng chứa ở chế độ tách rời, sử dụng docker run -d -p 80:80 my-apache-container, tôi đã có thể kết nối thông qua trình duyệt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.