lỗi nginx “tên máy chủ xung đột” bị bỏ qua [đóng]


125
server {
    #listen   80; ## listen for ipv4; this line is default and implied
    #listen   [::]:80 default ipv6only=on; ## listen for ipv6

    #root /usr/share/nginx/www;

root /home/ubuntu/node-login;
    # Make site accessible from 
    server_name ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.com;

location /{
    proxy_pass http://127.0.0.1:8000/;
    proxy_redirect off;
}

}

Điều này dẫn đến lỗi nignx [cảnh báo] tên máy chủ xung đột "ec2 ..." trên 0.0.0.0:80 bị bỏ qua Tôi không hiểu, bất kỳ lời giải thích nào được đánh giá cao. Cảm ơn.


Dường như có một mặc định rõ ràng là 0.0.0.0:80, việc thêm nó rõ ràng đã làm việc cho tôi. nghe ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.com:80; tiếp theo là chỉ thị server_name đã hoạt động.
user1447121

1
Kiểm tra /etc/nginx/sites-available/<site-name>được liên kết với /etc/nginx/sites-enabled/<site-name>. Các tệp bổ sung ở đây có thể chứa cấu hình trùng lặp hoặc xung đột.
Hanxue

thay đổi config.force_ssl = trueđể falsegiải quyết vấn đề của tôi, điều này đã cho tôi ngày để tìm ra
Muyide Ibukun

1
Đối với tôi lỗi tương tự này là do thiếu dấu chấm phẩy ở cuối một trong các server_namedòng khi tôi có một số servermục nhập.
Kevin

2
Certbot từ LetsEncrypt đã thêm một khối máy chủ trong tệp mặc định trong trường hợp của tôi. Điều đó khiến tôi cố gắng lấy chứng chỉ trước khi thiết lập khối máy chủ riêng biệt.
Alex D

Câu trả lời:


162

Tôi giả sử rằng bạn đang chạy Linux và bạn đang sử dụng gEdit để chỉnh sửa tệp của mình. Trong /etc/nginx/sites-enabled, nó có thể đã để lại một tệp tạm thời, ví dụ: default~(watch the ~).

Tùy thuộc vào trình chỉnh sửa của bạn, tệp có thể được đặt tên .savehoặc tương tự như vậy. Chỉ cần chạy $ ls -lahđể xem tệp nào không mong muốn ở đó và xóa chúng (Cảm ơn @Tisch về điều này).

Xóa tệp này và nó sẽ giải quyết được vấn đề của bạn.


khắc phục sự cố cho tôi trên Ubuntu 12.04 x86_64 + nginx
Stephen Rắc

1
bạn có thể làm rõ? Tôi không thấy bất kỳ tệp "default ~" nào trong thư mục "default ~" của tôi / etc / nginx / sites chỉ được kích hoạt.
David Saintloth

3
@Jakobud trong /etc/nginx/sites-enabled. Tôi đã chỉnh sửa câu trả lời của mình để đề cập đến nó.
Omar Al-Ithawi

3
Tôi có một tệp .save đang gây ra sự cố.
Tisch

2
Trong trường hợp của tôi, một số cấu hình emacs đã tạo một tệp có đầu và cuối #, ví dụ #portal#.
taffit

31

Bạn có một cái khác server_name ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.comở đâu đó trong cấu hình.


2
Tôi đã kiểm tra điều đó và không tìm thấy bất kỳ. nó không đưa ra cảnh báo này khi tôi xóa "ec2_xxx ...". Có mặc định ngầm định cho 0.0.0.0:80 trong cấu hình nginx không?
user1447121

Tài liệu chính thức :default: listen *:80 | *:8000;
VBart

2
Đây là nó cho tôi, tuy nhiên nó là localhost.
Rohmer

12

Chỉ nên có một localhost được xác định, hãy kiểm tra các trang web được kích hoạt hoặc nginx.conf.


8
Tôi có hai lệnh "server_name" giống hệt nhau trong hai tệp * .conf riêng biệt. Cảm ơn.
Felipe Alvarez,

1
Điều này cũng giải quyết được vấn đề của tôi. Tôi đã đặt 2 khối máy chủ giống nhau trong các tệp * .conf khác nhau. Cảm ơn!
Pranav Jituri,

1
Ngoài ra, rà soát tất cả các file trong thư mục này: /etc/nginx/conf.d. Mỗi miền chỉ có thể xuất hiện một lần (dưới dạng servernamegiá trị) giữa các tệp trong thư mục đó. Đó là vấn đề của tôi!
SherylHohman
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.