Như đã nói ở trên, nó có thể được giải quyết bằng
proxy_set_header Ủy quyền "DXNlcjpwYXNzd29yZA cơ bản ==";
ở đâu dXNlcjpwYXNzd29yZA==
là kết quả của lệnh: echo -n "người dùng: mật khẩu" | cơ sở64
tôi đoán bạn đã thử rồi
dù sao đi nữa, tôi tin rằng vị trí chính xác sẽ giống như
địa điểm / {
proxy_set_header Máy chủ lưu trữ $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://IP_CAMERA;
proxy_set_header Ủy quyền "DXNlcjpwYXNzd29yZA cơ bản ==";
ủy quyền proxy_set_header "Cơ bản $http_authorization"; # Đối với chế độ tương tác
}
không có /cgi-bin/mjpg/video.cgi
bởi vì nó sẽ chuyển qua trình duyệt hoặc phía máy khách http
HOẶC Nếu nó không hiệu quả với bạn, nó có thể liên quan đến trường hợp này
https://stackoverflow.com/questions/14839712/nginx-reverse-proxy-passthrough-basic-authenication
Nếu Máy ảnh có một số kiểm tra cảnh giới, bạn có thể biết Cảnh giới dự kiến thông qua Công cụ dành cho nhà phát triển tại tab Tiêu đề - Phần tiêu đề phản hồi.
Nhưng bạn sẽ cần biên dịch nginx với tiêu đề-more-nginx-module
Bạn có thể làm điều đó với kịch bản này
cd /usr/src
NGINXFILE=$(wget -qO- http://nginx.org/en/download.html | tr ' ' '\n' | egrep -o 'nginx.+?tar.gz' | head -1)
wget http://nginx.org/download/${NGINXFILE}
tar zxvf ${NGINXFILE}
cd ${NGINXFILE%.*.*}
cp -r /etc/nginx /root/nginx_$(date +%F) #Sao lưu cấu hình nginx hiện tại
cd /usr/src
git clone https://github.com/openresty/headers-more-nginx-module.git
./configure --add-module=/usr/src/headers-more-nginx-module --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/ lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/ nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/ nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/ var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with -threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with -http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_s tub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt=' -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fExceptionions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' - -with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'
chế tạo
thực hiện cài đặt
sau khi hoàn thành, bạn có thể thử cấu hình như vậy:
địa điểm / {
proxy_http_version 1.1;
bật proxy_pass_request_headers;
proxy_set_header Máy chủ lưu trữ $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
more_set_input_headers 'Ủy quyền: Cơ bản dXNlcjpwYXNzd29yZA==';
#more_set_input_headers 'Ủy quyền: $http_authorization'; # Đối với chế độ tương tác
proxy_set_header Mã hóa chấp nhận "";
proxy_pass http://IP_CAMERA;
proxy_redirect mặc định;
more_set_headers -s 401 'www-xác thực: Vương quốc cơ bản="Yêu cầu xác thực"';
}
ở đâu www-xác thực: Vương quốc cơ bản="Yêu cầu xác thực"
dữ liệu thực tế của bạn về tiêu đề này
Tôi đã kiểm tra cả hai trường hợp, nó hoạt động với tôi, tôi đã thử nghiệm nó trên ứng dụng bình tùy chỉnh. Thật không may, tôi không có máy ảnh như vậy để gỡ lỗi cá nhân