Điểm:3

Máy chủ không thể truy cập được và yêu cầu htaccess

lá cờ om

Tôi hiện đang chạy máy chủ Ubuntu 20.04 trên Gigabyte BRIX (GB-BACE-3000), nó hoạt động tốt ngoại trừ mạng kể từ vài ngày.

Sau một thời gian (vài giờ sau khi bật nguồn), tôi không thể truy cập máy chủ bằng SSH, nó sẽ báo lỗi từ chối kết nối.

Tôi cũng lưu trữ một trang web địa phương trên đó mà tôi truy cập bằng cách chỉnh sửa /etc/hosts. Khi SSH không khả dụng, trang web cũng yêu cầu htaccess! Vì không có htaccess nào trên máy chủ này nên tôi không hiểu.

Đây gần như là bản cài đặt mới của máy chủ, chỉ nginx, mariadb đang chạy. UFW không hoạt động, iptables không có quy tắc.

Các dịch vụ như mạng đang chạy, tôi không thấy bất kỳ lỗi nào, không có nhật ký (kiểm tra cục bộ).

Khối máy chủ Nginx cho trang web cục bộ (vhost đơn giản nhất...):

người phục vụ {
  nghe 80;

  server_name my-website.lo;

  gốc /var/www/html/my-website.lo;
  chỉ số index.html;
}

Các nginx.conf là một trong những mặc định. Các sshd_config cũng là một trong những mặc định.

Bạn có nghĩ rằng đây có thể là một vấn đề phần cứng? Có thêm nhật ký nào tôi có thể kiểm tra không?


CẬP NHẬT:

đây là đầy đủ nginx -T đầu ra. Barebone-test.lo chỉ dành cho trang web thử nghiệm (tự động tải lại sau mỗi 5 giây), để biết khi nào mạng máy chủ ngừng hoạt động.

nginx: cú pháp file cấu hình /etc/nginx/nginx.conf là ok
nginx: file cấu hình /etc/nginx/nginx.conf kiểm tra thành công
# tập tin cấu hình /etc/nginx/nginx.conf:
dữ liệu www của người dùng;
worker_processes tự động;
pid /run/nginx.pid;
bao gồm /etc/nginx/modules-enabled/*.conf;

sự kiện {
    công_nhân kết_nối 768 ;
    # đa_chấp vào ;
}

http {

    ##
    # Cài đặt cơ bản
    ##

    gửi tệp trên;
    bật tcp_nopus;
    bật tcp_nodelay;
    keepalive_timeout 65;
    loại_hash_max_size 2048;
    # server_token tắt;

    # server_name_hash_bucket_size 64;
    # máy chủ_tên_trong_chuyển hướng tắt;

    bao gồm /etc/nginx/mime.types;
    ứng dụng default_type/octet-stream;

    ##
    # Cài đặt SSL
    ##

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Bỏ SSLv3, tham khảo: POODLE
    bật ssl_prefer_server_ciphers;

    ##
    # Cài đặt ghi nhật ký
    ##

    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    ##
    # Cài đặt Gzip
    ##

    bật gzip;

    # gzip_vary bật;
    # gzip_proxied bất kỳ;
    # gzip_comp_cấp 6;
    # gzip_buffers 16 8k;
    # gzip_http_version 1.1;
    # văn bản gzip_types/văn bản thuần túy/ứng dụng css/ứng dụng json/văn bản javascript/ứng dụng xml/ứng dụng xml/xml+văn bản rss/javascript;

    ##
    # Cấu hình máy chủ ảo
    ##

    bao gồm /etc/nginx/conf.d/*.conf;
    bao gồm /etc/nginx/sites-enabled/*;
}


#email {
# # Xem tập lệnh xác thực mẫu tại:
# # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
# 
# # auth_http localhost/auth.php;
# # pop3_capabilities "TOP" "NGƯỜI DÙNG";
# # khả năng của imap "IMAP4rev1" "UIDPLUS";
# 
#   người phục vụ {
# nghe máy chủ cục bộ: 110;
# giao thức pop3;
# bật proxy;
# }
# 
#   người phục vụ {
# nghe localhost:143;
# hình ảnh giao thức;
# bật proxy;
# }
#}

# tệp cấu hình /etc/nginx/modules-enabled/50-mod-http-image-filter.conf:
mô-đun load_module/ngx_http_image_filter_module.so;

# tệp cấu hình /etc/nginx/modules-enabled/50-mod-http-xslt-filter.conf:
mô-đun load_module/ngx_http_xslt_filter_module.so;

# tệp cấu hình /etc/nginx/modules-enabled/50-mod-mail.conf:
mô-đun load_module/ngx_mail_module.so;

# tệp cấu hình /etc/nginx/modules-enabled/50-mod-stream.conf:
mô-đun load_module/ngx_stream_module.so;

# tập tin cấu hình /etc/nginx/mime.types:

các loại {
    văn bản/html html htm shtml;
    văn bản/css css;
    văn bản/xml xml;
    hình ảnh/gif gif;
    hình ảnh/jpeg jpeg jpg;
    ứng dụng/javascript js;
    ứng dụng/nguyên tử + nguyên tử xml;
    ứng dụng/rss+xml rss;

    văn bản/toán học mml;
    văn bản/txt đơn giản;
    text/vnd.sun.j2me.app-descriptor jad;
    text/vnd.wap.wml wml;
    văn bản/x-thành phần htc;

    hình ảnh/png png;
    hình ảnh/tiff tif tiff;
    image/vnd.wap.wbmp wbmp;
    hình ảnh/biểu tượng x ico;
    hình ảnh/x-jng jng;
    hình ảnh/x-ms-bmp bmp;
    hình ảnh/svg+xml svg svgz;
    hình ảnh/webp webp;

    ứng dụng/phông chữ woff;
    ứng dụng/java-archive jar chiến tai;
    ứng dụng/json json;
    ứng dụng/mac-binhex40 hqx;
    tài liệu ứng dụng/msword;
    ứng dụng/pdf pdf;
    ứng dụng/tái bút ps eps ai;
    ứng dụng/rtf rtf;
    ứng dụng/vnd.apple.mpegurl m3u8;
    ứng dụng/vnd.ms-excel xls;
    ứng dụng/vnd.ms-fontobject eot;
    application/vnd.ms-powerpoint ppt;
    ứng dụng/vnd.wap.wmlc wmlc;
    ứng dụng/vnd.google-earth.kml+xml kml;
    ứng dụng/vnd.google-earth.kmz kmz;
    ứng dụng/x-7z-nén 7z;
    ứng dụng/x-ca cao cco;
    ứng dụng/x-java-archive-diff jardiff;
    ứng dụng/x-java-jnlp-tệp jnlp;
    ứng dụng/x-makeself chạy;
    ứng dụng/x-perl pl chiều;
    ứng dụng/x-pilot prc pdb;
    ứng dụng/x-rar-rar nén;
    ứng dụng/x-redhat-gói-quản lý rpm;
    ứng dụng/x-biển biển;
    ứng dụng/x-shockwave-flash swf;
    ứng dụng/x-stuffit ngồi;
    ứng dụng/x-tcl tcl tk;
    ứng dụng/x-x509-ca-cert der pem crt;
    ứng dụng/x-xpinstall xpi;
    ứng dụng/xhtml+xml xhtml;
    ứng dụng/xspf+xml xspf;
    ứng dụng/zip zip;

    ứng dụng/octet-stream bin exe dll;
    gỡ lỗi ứng dụng/octet-stream;
    ứng dụng/octet-stream dmg;
    ứng dụng/octet-stream iso img;
    ứng dụng/octet-stream msi msp msm;

    application/vnd.openxmlformats-officedocument.wordprocessingml.document docx;
    application/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx;
    application/vnd.openxmlformats-officedocument.presentationml.presentation pptx;

    âm thanh/midi mid midi kar;
    âm thanh/mpeg mp3;
    âm thanh/ogg ogg;
    âm thanh/x-m4a m4a;
    âm thanh/x-realaudio ra;

    video/3gpp 3gpp 3gp;
    video/mp2t ts;
    video/mp4 mp4;
    video/mpeg mpeg mpg;
    video/quicktime mov;
    video/webm webm;
    video/x-flv flv;
    video/x-m4v m4v;
    video/x-mng mng;
    video/x-ms-asf asx asf;
    video/x-ms-wmv wmv;
    video/x-msvideo avi;
}

# tệp cấu hình /etc/nginx/sites-enabled/barebone-test.lo:
người phục vụ {
  nghe 80;

  server_name barebone-test.lo;

  gốc /var/www/html/barebone-test.lo;
  chỉ số index.html;
}

# tệp cấu hình /etc/nginx/sites-enabled/default:
##
# Bạn nên xem URL sau để hiểu rõ
# tệp cấu hình Nginx để giải phóng hoàn toàn sức mạnh của Nginx.
# https://www.nginx.com/resources/wiki/start/
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
# https://wiki.debian.org/Nginx/DirectoryStructure
#
# Trong hầu hết các trường hợp, quản trị viên sẽ xóa tệp này khỏi các trang web đã bật/ và
# để nó làm tài liệu tham khảo bên trong các trang web có sẵn, nơi nó sẽ tiếp tục tồn tại
# được cập nhật bởi nhóm đóng gói nginx.
#
# Tệp này sẽ tự động tải các tệp cấu hình do người khác cung cấp
# ứng dụng, chẳng hạn như Drupal hoặc Wordpress. Các ứng dụng này sẽ được thực hiện
# có sẵn bên dưới đường dẫn có tên gói đó, chẳng hạn như /drupal8.
#
# Vui lòng xem /usr/share/doc/nginx-doc/examples/ để biết thêm các ví dụ chi tiết.
##

# Cấu hình máy chủ mặc định
#
người phục vụ {
    nghe 80 default_server;
    lắng nghe [::]:80 default_server;

    # Cấu hình SSL
    #
    # nghe 443 ssl default_server;
    # lắng nghe [::]:443 ssl default_server;
    #
    # Lưu ý: Bạn nên tắt gzip cho lưu lượng SSL.
    # Xem: https://bugs.debian.org/773332
    #
    # Đọc ssl_ciphers để đảm bảo cấu hình an toàn.
    # Xem: https://bugs.debian.org/765782
    #
    # Chứng chỉ tự ký được tạo bởi gói ssl-cert
    # Đừng sử dụng chúng trong máy chủ sản xuất!
    #
    # bao gồm đoạn trích/snakeoil.conf;

    gốc/var/www/html;

    # Thêm index.php vào danh sách nếu bạn đang sử dụng PHP
    chỉ mục index.html index.htm index.nginx-debian.html;

    tên máy chủ _;

    địa điểm / {
        # Lần đầu tiên cố gắng phục vụ yêu cầu dưới dạng tệp, sau đó
        # làm thư mục, sau đó quay lại hiển thị lỗi 404.
        try_files $uri $uri/ =404;
    }

    # truyền tập lệnh PHP tới máy chủ FastCGI
    #
    #vị trí ~ \.php$ {
    # bao gồm đoạn trích/fastcgi-php.conf;
    #
    # # Với php-fpm (hoặc các ổ cắm unix khác):
    # fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    # # Với php-cgi (hoặc các ổ cắm tcp khác):
    # fastcgi_pass 127.0.0.1:9000;
    #}

    # từ chối quyền truy cập vào tệp .htaccess, nếu tài liệu gốc của Apache
    # đồng tình với nginx
    #
    #vị trí ~ /\.ht {
    #   Phủ nhận tất cả;
    #}
}


# Cấu hình máy chủ ảo ví dụ.com
#
# Bạn có thể di chuyển tệp đó sang một tệp khác trong các trang web có sẵn/ và liên kết tượng trưng đó
# đến các trang web đã bật/ để kích hoạt nó.
#
#người phục vụ {
#nghe80;
# nghe [::]:80;
#
# tên_máy chủ ví dụ.com;
#
# gốc /var/www/example.com;
# chỉ số index.html;
#
#   địa điểm / {
# try_files $uri $uri/ =404;
# }
#}

Ngoài ra khi Nginx đang chạy, lsof -Pi :80 trở lại:

nginx 975 root 6u IPv4 32176 0t0 TCP *:80 (LẮNG NGHE)
nginx 975 root 7u IPv6 32177 0t0 TCP *:80 (LẮNG NGHE)
nginx 976 dữ liệu www 6u IPv4 32176 0t0 TCP *:80 (LẮNG NGHE)
nginx 976 dữ liệu www 7u IPv6 32177 0t0 TCP *:80 (LẮNG NGHE)
nginx 977 dữ liệu www 6u IPv4 32176 0t0 TCP *:80 (LẮNG NGHE)
nginx 977 dữ liệu www 7u IPv6 32177 0t0 TCP *:80 (LẮNG NGHE)

lsof -Pi :443 trả lại không có gì. Cuối cùng, khi Nginx bị dừng, cả hai lệnh sẽ không đưa ra bất kỳ đầu ra nào. Lần tới khi máy chủ không thể truy cập được, tôi sẽ ngăn Nginx truy cập vật lý và sau đó kiểm tra xem trang web thử nghiệm của tôi có luôn yêu cầu đăng nhập và mật khẩu hay hiển thị kết nối bị từ chối kể từ khi máy chủ web bị dừng.

lá cờ kz
"trang web cũng yêu cầu htaccess!" - Trang web "xin htaccess" như thế nào?!
lá cờ om
Khi tôi nói "htaccess", ý tôi là trang web đang yêu cầu đăng nhập và mật khẩu như: https://www.lansweeper.com/wp-content/uploads/2015/02/enabling-or-disabling-web-browser-login -prompts-1.jpg (hình ảnh tìm thấy trên google)
lá cờ om
omg vâng, xin lỗi @djdomi và @MrWhite, tôi không nên đề cập đến `.htaccess` bạn nói đúng. Dù sao với một curl, nó sẽ trả về *401*. Không hiểu sao website đang hoạt động được vài phút/giờ rồi quăng cái này! (không làm bất cứ điều gì trên trang web hoặc máy chủ)
djdomi avatar
lá cờ za
không sử dụng hình ảnh chung chung. Sử dụng curl để xác minh các tiêu đề - xác minh xem Apache hoặc tương tự có đi vào đó không vì nginx không quan tâm đến các tệp .htaccess. Nó chỉ chấp nhận authfile dưới dạng Biến trong Cấu hình. Và nếu điều này không xuất hiện, thì tôi tin rằng ít nhất gần 99% một máy chủ Web khác đang tham gia bữa tiệc.
djdomi avatar
lá cờ za
vui lòng cho chúng tôi xem toàn bộ nginx -T, ngoài ra, hãy dừng trình nền Máy chủ web trong 5 phút và thử lsof -Pi :80 và lsof -Pi :443 nếu phản hồi vẫn trống và hơn nữa hãy thử truy cập trang web nếu nó vẫn khả dụng, nếu có thì có Có gì đó không đúng
lá cờ kz
Việc được nhắc đăng nhập/mật khẩu không nhất thiết liên quan đến `.htaccess`. Xác thực HTTP (trong trình duyệt) được kích hoạt nếu máy chủ phản hồi với trạng thái 401 và tiêu đề `WWW-Authenticate` thích hợp. Đề cập đến `.htaccess` trong ngữ cảnh này chỉ gây hiểu lầm. (Ngay cả trên Apache, bạn không _cần_ `.htaccess` để kích hoạt lời nhắc đăng nhập/mật khẩu.)
lá cờ om
@djdomi Tôi đã cập nhật bài đăng của mình để tránh khu vực bình luận spam
Nikita Kipriyanov avatar
lá cờ za
Khi bạn mất quyền truy cập qua SSH, điều này phải được ghi vào nhật ký bằng cách nào đó. Bạn đã cố gắng để tìm ra điều này?
lá cờ om
@NikitaKipriyanov Thật không may, tôi đã đăng ký `/var/log/auth.log` và không có gì mở khi thử kết nối SSH (trong trường hợp máy chủ không thể truy cập được)
Nikita Kipriyanov avatar
lá cờ za
Nếu kết nối với SSH bị từ chối, thì không thể có bất kỳ nỗ lực xác thực nào. Bạn cần đọc các nhật ký khác trong khoảng thời gian nghỉ giải lao có lẽ. Bạn có bất kỳ tính năng tường lửa và tự động cấm nào không, ví dụ: fail2ban?
lá cờ om
Hoàn toàn không có tường lửa như ufw hoặc f2b. Thành thật mà nói, về các nhật ký khác, tôi không biết tìm kiếm ở đâu. Từ nhật ký Nginx đến nhật ký SSH, tôi không biết liệu có thể có bất kỳ nhật ký nào ở nơi khác không:/

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.