Cố gắng hiểu tại sao bản cài đặt nginx mới này hoàn toàn không phục vụ bất kỳ tệp nào. Tôi có một cấu hình trang web tối thiểu. (Tôi đã kiểm tra lần cuối rtmp hoạt động nhưng điều đó không cần thiết trong một thời gian. Chỉ cần thêm cấu hình cổng 80. Tôi chỉ đề cập đến vì bạn sẽ thấy nó trong cấu hình.)
Khi tôi cố gắng truy cập máy chủ này (bằng IP hoặc theo tên máy chủ), tôi gặp lỗi "403 (bị cấm)" hiển thị trên trang web và không có gì trong tệp /var/log/nginx/error.log. (Tệp đó không có byte nào, ngay cả sau khi khởi động lại và thử lại.)
Tất cả các câu hỏi khác mà tôi đã tìm thấy như thế này trên serverfault, đều có trợ giúp trong tệp error.log. Vì error.log trống nên tôi đã tạo câu hỏi mới này.
Điều này xảy ra khi tôi cố gắng sử dụng cơ sở lập chỉ mục mặc định và khi tôi thử các tệp cụ thể, chẳng hạn như các ví dụ sau:
http://hpmicro1
http://hpmicro1.innerdomain.com
http://hpmicro1.innerdomain.com/index.html
http://192.168.1.5
http://192.168.1.5/index.html
http://192.168.1.5/index.php
và như thế. Như bạn có thể thấy, những tệp đó tồn tại và được sở hữu bởi www-data:
# ls -l /www/htdocs
tổng cộng 60
-rw-rw-rw- 1 www-data www-data 35752 17 tháng 7 14:09 dbg-wizard.php
drwxrwxr-x 2 www-data www-data 4096 16 tháng 7 08:15 chức năng
drwxrwxr-x 2 www-data www-data 4096 17 tháng 7 12:38 GetChat
-rw-r--r-- 1 www-data www-data 10918 ngày 18 tháng 7 16:16 index.html
-rw-rw-rw- 1 www-data www-data 20 ngày 17 tháng 7 14:18 index.php
# ls -ld /www/htdocs
drwxrwxr-x 5 dữ liệu www dennis 4096 ngày 18 tháng 7 16:22 /www/htdocs
Đây là nội dung tệp /etc/nginx/nginx.conf:
# grep -v '^\s*#' /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 ;
}
http {
gửi tệp trên;
bật tcp_nopus;
bật tcp_nodelay;
keepalive_timeout 65;
loại_hash_max_size 2048;
bao gồm /etc/nginx/mime.types;
ứng dụng default_type/octet-stream;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Bỏ SSLv3, tham khảo: POODLE
bật ssl_prefer_server_ciphers;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
bật gzip;
bao gồm /etc/nginx/conf.d/*.conf;
bao gồm /etc/nginx/sites-enabled/*;
}
rtmp {
người phục vụ {
nghe 1935;
chunk_size 4096;
thông báo_phương thức nhận;
ứng dụng WendellLive {
on_publish http://localhost/auth;
sống dựa vào;
ghi tắt;
record_path /svr/rtmp-recordings;
ghi_độc đáo trên;
đẩy rtmp: // localhost/Wendell_YT;
}
ứng dụng Wendell_YT {
sống dựa vào;
ghi tắt;
cho phép xuất bản 127.0.0.1;
từ chối xuất bản tất cả;
đẩy rtmp://a.rtmp.youtube.com/live2/<wendell_yt_stream_key>;
}
}
}
Và cấu hình /etc/nginx/sites-enabled/default
# grep -v '^\s*#' mặc định
người phục vụ {
nghe 80 default_server;
lắng nghe [::]:80 default_server;
gốc/www/htdocs; # Đã thêm - Lovelady - 18-Jul-2021
chỉ mục index.php index.html index.htm index.nginx-debian.html;
server_name home.lovelady.com;
địa điểm / {
try_files $uri $uri/ =404;
}
vị trí /auth {
nếu ($arg_pwd = 'my_secret_not_yours') {
trả lại 200;
}
trả lại 401; # Không được ủy quyền
}
}
Thông tin phiên bản:
phiên bản nginx: nginx/1.18.0 (Ubuntu)
>>> con mèo/etc/os-phát hành
NAME="Ubuntu"
VERSION="20.04.2 LTS (Fossa Fossa)"
ID = Ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.2 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=tiêu điểm
UBUNTU_CODENAME=tiêu điểm
Nội dung của /var/log/nginx là:
# ls -ltr /var/log/nginx/
tổng số 72
-rw-r----- 1 dữ liệu www adm 480 ngày 5 tháng 4 23:19 error.log.3.gz
-rw-r----- 1 www-data adm 464 20 tháng 5 23:46 access.log.14.gz
-rw-r----- 1 www-data adm 469 21 tháng 5 23:46 access.log.13.gz
-rw-r----- 1 www-data adm 468 22 tháng 5 23:46 access.log.12.gz
-rw-r----- 1 www-data adm 464 23 tháng 5 23:47 access.log.11.gz
-rw-r----- 1 www-data adm 472 24 tháng 5 23:47 access.log.10.gz
-rw-r----- 1 www-data adm 472 25 tháng 5 23:47 access.log.9.gz
-rw-r----- 1 www-data adm 464 26 tháng 5 23:47 access.log.8.gz
-rw-r----- 1 www-data adm 196 27 tháng 5 01:17 access.log.7.gz
-rw-r----- 1 dữ liệu www adm 97 ngày 28 tháng 5 06:10 error.log.2.gz
-rw-r----- 1 www-data adm 248 ngày 21 tháng 6 22:31 access.log.6.gz
-rw-r----- 1 www-data adm 110 ngày 24 tháng 6 12:37 access.log.5.gz
-rw-r----- 1 www-data adm 153 ngày 25 tháng 6 11:22 access.log.4.gz
-rw-r----- 1 www-data adm 102 ngày 26 tháng 6 08:22 access.log.3.gz
-rw-r----- 1 www-data adm 140 ngày 28 tháng 6 21:09 error.log.1
-rw-r----- 1 www-data adm 0 ngày 29 tháng 6 00:00 error.log
-rw-r----- 1 www-data adm 275 ngày 16 tháng 7 08:41 access.log.2.gz
-rw-r----- 1 www-data adm 216 ngày 17 tháng 7 12:50 access.log.1
-rw-r----- 1 www-data adm 193 ngày 18 tháng 7 16:07 access.log
access.log có một dòng này:
# con mèo /var/log/nginx/access.log
192.168.1.203 - - [18/Jul/2021:16:07:37 -0400] "GET / HTTP/1.1" 200 20 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML , như Gecko) Chrome/91.0.4472.124 Safari/537.36"
Đầu ra của nginx -T theo yêu cầu:
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:
#
# Trợ giúp LỚN từ trang web này:
# https://www.scaleway.com/en/docs/setup-rtmp-streaming-server/
#
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;
# }
#}
rtmp {
người phục vụ {
nghe 1935;
chunk_size 4096;
thông báo_phương thức nhận;
ứng dụng love-uav {
on_publish http://localhost/auth;
sống dựa vào;
# Đặt tùy chọn này thành "tắt bản ghi" nếu bạn không muốn lưu bản sao chương trình phát sóng của mình:
#ghi lại tất cả;
ghi tắt;
# Thư mục lưu trữ các bản ghi
record_path /svr/rtmp-recordings;
ghi_độc đáo trên;
# Phát lại nội dung sau
đẩy rtmp: // localhost/love-uav_YT;
#push rtmp://localhost/love-uav_Twitch;
#push rtmp://localhost/love-uav_Facebook;
}
# ứng dụng YouTube
ứng dụng love-uav_YT {
sống dựa vào;
ghi tắt;
#chỉ cho phép localhost xuất bản
cho phép xuất bản 127.0.0.1;
từ chối xuất bản tất cả;
# đẩy URL bằng khóa luồng youtube
đẩy rtmp://a.rtmp.youtube.com/live2/jsqu-54jv-uw68-39tf-xxxx;
}
# Ứng dụng co giật
ứng dụng love-uav_Twitch {
sống dựa vào;
ghi tắt;
#chỉ cho phép localhost xuất bản
cho phép xuất bản 127.0.0.1;
từ chối xuất bản tất cả;
# đẩy URL bằng khóa luồng Twitch
đẩy rtmp://live-cdg.twitch.tv/app/<love-uav__twitch_stream_key>;
}
ứng dụng love-uav_Facebook {
sống dựa vào;
ghi tắt;
#chỉ cho phép localhost xuất bản
cho phép xuất bản 127.0.0.1;
từ chối xuất bản tất cả;
# đẩy URL bằng khóa luồng Facebook
# đẩy rtmps://live-api-s.facebook.com:443/rtmp/<love-uav__facebook_stream_key>;
}
ứng dụng WendellLive {
on_publish http://localhost/auth;
sống dựa vào;
# Đặt tùy chọn này thành "tắt bản ghi" nếu bạn không muốn lưu bản sao chương trình phát sóng của mình:
#ghi lại tất cả;
ghi tắt;
# Thư mục lưu trữ các bản ghi
record_path /svr/rtmp-recordings;
ghi_độc đáo trên;
# Phát lại nội dung sau
đẩy rtmp: // localhost/Wendell_YT;
#push rtmp://localhost/Wendell_twitch;
#push rtmp://localhost/Wendell_facebook;
}
# ứng dụng YouTube
ứng dụng Wendell_YT {
sống dựa vào;
ghi tắt;
#chỉ cho phép localhost xuất bản
cho phép xuất bản 127.0.0.1;
từ chối xuất bản tất cả;
# đẩy URL bằng khóa luồng youtube
đẩy rtmp://a.rtmp.youtube.com/live2/<wendell_yt_stream_key>;
}
}
}
# 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-rtmp.conf:
mô-đun load_module/ngx_rtmp_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/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;
#root /var/www/html; # Commented - Lovelady - 18-Jul-2021
gốc/www/htdocs; # Đã thêm - Lovelady - 18-Jul-2021
# Thêm index.php vào danh sách nếu bạn đang sử dụng PHP
chỉ mục index.php index.html index.htm index.nginx-debian.html;
server_name home.lovelady.com;
đị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;
}
vị trí /auth {
nếu ($arg_pwd = 'my_secret_not_yours') {
trả lại 200;
}
trả lại 401; # Không được ủy quyền
}
# 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;
# }
#}
Thất bại: