tôi muốn viết lại /bình/tệp/
đường dẫn đến /utility/base-cert/flask/files/
. Vì vậy, tôi đã cố gắng làm theo
vị trí /tiện ích/cơ sở-cert/ {
proxy_pass http://base-cert/;
}
vị trí /flask/files/ {
viết lại ^/flask/files/(.*)$ /utility/base-cert/flask/files/$1 vĩnh viễn;
}
chứng chỉ cơ sở
ứng dụng (http://base-cert/
) chỉ để phục vụ một số tệp có thể tải xuống.
Nhưng nó chỉ hoạt động với các tệp txt chứ không hoạt động với các tệp khác.
Trong nhật ký tôi thấy
10.2.19.165 - - [11/Feb/2022:21:40:52 +0000] "GET /utility/base-cert/flask/files/readme.md HTTP/1.1" 304 0 "-" "Mozilla/5.0 ( Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, như Gecko) Chrome/98.0.4758.80 Safari/537.36" "x.x.x.x"
10.2.19.165 - - [11/Feb/2022:21:40:58 +0000] "GET /utility/base-cert/flask/files/base.crt HTTP/1.1" 304 0 "-" "Mozilla/5.0 ( Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, như Gecko) Chrome/98.0.4758.80 Safari/537.36" "x.x.x.x"
Trong trình duyệt tôi thấy lỗi sau
Nội dung hỗn hợp: Trang web tại 'https://dev.example.com/' đã được tải qua kết nối an toàn nhưng tệp tại 'https://dev.example.com/utility/base-cert/flask/files/ base.crt' đã được chuyển hướng qua một kết nối không an toàn. Tệp này phải được phân phát qua HTTPS. Tải xuống này đã bị chặn. Xem https://blog.chromium.org/2020/02/protecting-users-from-insecure.html để biết thêm chi tiết.
Đầu ra Nginx
root@nginx-64fbcf4c54-2dkq7:/# nginx -T
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:
người dùng nginx;
worker_processes tự động;
thông báo error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
sự kiện {
công_nhân kết_nối 1024 ;
}
http {
bao gồm /etc/nginx/mime.types;
ứng dụng default_type/octet-stream;
log_format chính '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log chính;
gửi tệp trên;
#tcp_nopush bật;
keepalive_timeout 65;
#gzip trên;
bao gồm /etc/nginx/conf.d/*.conf;
}
# 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/avif avif;
hình ảnh/png png;
hình ảnh/svg+xml svg svgz;
hình ảnh/tiff tif tiff;
image/vnd.wap.wbmp wbmp;
hình ảnh/webp webp;
hình ảnh/biểu tượng x ico;
hình ảnh/x-jng jng;
hình ảnh/x-ms-bmp bmp;
phông chữ/woff woff;
phông chữ/woff2 woff2;
ứ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.google-earth.kml+xml kml;
ứng dụng/vnd.google-earth.kmz kmz;
ứng dụng/vnd.ms-excel xls;
ứng dụng/vnd.ms-fontobject eot;
application/vnd.ms-powerpoint ppt;
ứng dụng/vnd.oasis.opendocument.graphics odg;
application/vnd.oasis.opendocument.presentation odp;
ứng dụng/vnd.oasis.opendocument.spreadsheet ods;
ứng dụng/vnd.oasis.opendocument.text odt;
application/vnd.openxmlformats-officedocument.presentationml.presentation
pptx;
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
xlsx;
application/vnd.openxmlformats-officedocument.wordprocessingml.document
tài liệu;
ứng dụng/vnd.wap.wmlc wmlc;
ứng dụng/wasm wasm;
ứ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;
â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/conf.d/frontend.dev.lightcl.conf:
limit_req_zone $binary_remote_addr zone=login:10m rate=25r/s;
ngược dòng uwsgi {
máy chủ uwsgi:9000;
}
chứng chỉ cơ sở ngược dòng {
chứng chỉ cơ sở máy chủ: 5000;
}
người phục vụ {
nghe 80 default_server;
máy chủ_tên máy chủ cục bộ;
keepalive_timeout 70;
bật gzip;
gzip_disable "msie6";
bật gzip_vary;
gzip_proxied bất kỳ;
gzip_comp_level 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/ứng dụng x-javascript/văn bản javascript/ứng dụng xml/ứng dụng xml/xml+văn bản rss/javascript;
địa điểm / {
proxy_pass http://frontend-dev.s3-website-us-west-2.amazonaws.com/beta/;
hết hạn 30d;
}
vị trí /api/ {
uwsgi_pass uwsgi://uwsgi;
bao gồm uwsgi_params;
}
vị trí /tiện ích/cơ sở-cert/ {
proxy_pass http://base-cert/;
}
vị trí /flask/files/ {
viết lại ^/flask/files/(.*)$ /utility/base-cert/flask/files/$1 vĩnh viễn;
}
vị trí /số liệu {
sơ khai_trạng thái;
}
vị trí /stub_status {
sơ khai_trạng thái;
}
vị trí /socket.io/ {
proxy_pass http://websockets;
proxy_redirect tắt;
proxy_http_version 1.1;
proxy_set_header Nâng cấp $http_upgrade;
proxy_set_header Kết nối "nâng cấp";
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_set_header X-Forwarded-Proto $scheme;
}
}
người phục vụ {
nghe 443 ssl;
máy chủ_tên máy chủ cục bộ;
keepalive_timeout 70;
ssl_certificate /etc/ssl/cert.pem;
ssl_certificate_key /etc/ssl/key.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers CAO:!aNULL:!MD5;
bật gzip;
gzip_disable "msie6";
bật gzip_vary;
gzip_proxied bất kỳ;
gzip_comp_level 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/ứng dụng x-javascript/văn bản javascript/ứng dụng xml/ứng dụng xml/xml+văn bản rss/javascript;
vị trí /vpn/ {
uwsgi_pass uwsgi://uwsgi;
bao gồm uwsgi_params;
}
}
# tập tin cấu hình /etc/nginx/uwsgi_params:
uwsgi_param QUERY_STRING $query_string;
uwsgi_param REQUEST_METHOD $request_method;
uwsgi_param CONTENT_TYPE $content_type;
uwsgi_param CONTENT_LENGTH $content_length;
uwsgi_param REQUEST_URI $request_uri;
uwsgi_param PATH_INFO $document_uri;
uwsgi_param DOCUMENT_ROOT $document_root;
uwsgi_param SERVER_PROTOCOL $server_protocol;
uwsgi_param REQUEST_SCHEME $scheme;
uwsgi_param HTTPS $https if_not_empty;
uwsgi_param REMOTE_ADDR $remote_addr;
uwsgi_param REMOTE_PORT $remote_port;
uwsgi_param SERVER_PORT $server_port;
uwsgi_param SERVER_NAME $server_name;
Điều gì sẽ là viết lại chính xác?