vreau sa rescriu /flask/fișiere/
cale spre /utility/base-cert/flask/files/
. Așa că am încercat să urmăresc
locație /utility/base-cert/ {
proxy_pass http://base-cert/;
}
locație /balon/fișiere/ {
rescrie ^/flask/files/(.*)$ /utility/base-cert/flask/files/$1 permanent;
}
baza-cert
aplicație (http://base-cert/
) este doar pentru a servi câteva fișiere descărcabile.
Dar funcționează numai pentru fișierele txt, dar nu și pentru alte fișiere.
În jurnalele văd
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, ca 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, ca Gecko) Chrome/98.0.4758.80 Safari/537.36" "x.x.x.x"
În browser văd următoarea eroare
Conținut mixt: site-ul de la „https://dev.example.com/” a fost încărcat printr-o conexiune securizată, dar fișierul de la „https://dev.example.com/utility/base-cert/flask/files/ base.crt' a fost redirecționat printr-o conexiune nesigură. Acest fișier ar trebui să fie difuzat prin HTTPS. Această descărcare a fost blocată. Consultați https://blog.chromium.org/2020/02/protecting-users-from-insecure.html pentru mai multe detalii.
Ieșire Nginx
root@nginx-64fbcf4c54-2dkq7:/# nginx -T
nginx: sintaxa fișierului de configurare /etc/nginx/nginx.conf este ok
nginx: fișierul de configurare /etc/nginx/nginx.conf testul a reușit
# fișier de configurare /etc/nginx/nginx.conf:
utilizator nginx;
worker_proceses auto;
error_log /var/log/nginx/error.log notificare;
pid /var/run/nginx.pid;
evenimente {
conexiuni_muncitor 1024;
}
http {
includ /etc/nginx/mime.types;
aplicație de tip_default/octet-stream;
log_format principal „$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 principal;
sendfile activat;
#tcp_nopush on;
keepalive_timeout 65;
#gzip activat;
includ /etc/nginx/conf.d/*.conf;
}
# fișier de configurare /etc/nginx/mime.types:
tipuri {
text/html html htm shtml;
text/css css;
text/xml xml;
imagine/gif gif;
imagine/jpeg jpeg jpg;
aplicație/javascript js;
aplicație/atom+xml atom;
aplicație/rss+xml rss;
text/mathml mml;
text/txt simplu;
text/vnd.sun.j2me.app-descriptor jad;
text/vnd.wap.wml wml;
text/x-component htc;
imagine/avif avif;
imagine/png png;
imagine/svg+xml svg svgz;
imagine/tiff tif tiff;
imagine/vnd.wap.wbmp wbmp;
imagine/webp webp;
imagine/x-icoană ico;
imagine/x-jng jng;
imagine/x-ms-bmp bmp;
font/woff woff;
font/woff2 woff2;
aplicație/java-arhivă jar war ear;
aplicație/json json;
aplicație/mac-binhex40 hqx;
aplicație/msword doc;
cerere/pdf pdf;
aplicație/postscript ps eps ai;
aplicație/rtf rtf;
application/vnd.apple.mpegurl m3u8;
application/vnd.google-earth.kml+xml kml;
application/vnd.google-earth.kmz kmz;
application/vnd.ms-excel xls;
application/vnd.ms-fontobject eot;
application/vnd.ms-powerpoint ppt;
application/vnd.oasis.opendocument.graphics odg;
cerere/vnd.oasis.opendocument.prezentare odp;
application/vnd.oasis.opendocument.spreadsheet ods;
application/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
docx;
application/vnd.wap.wmlc wmlc;
aplicare/wasm wasm;
aplicație/x-7z-comprimat 7z;
aplicare/x-cacao cco;
application/x-java-archive-diff jardiff;
aplicație/x-java-jnlp-fișier jnlp;
aplicație/x-makeself rulează;
application/x-perl pl pm;
application/x-pilot prc pdb;
application/x-rar-compressed rar;
application/x-redhat-package-manager rpm;
aplicare/x-mare mare;
aplicație/x-shockwave-flash swf;
application/x-stuffit sit;
aplicație/x-tcl tcl tk;
application/x-x509-ca-cert der pem crt;
aplicație/x-xpinstall xpi;
aplicație/xhtml+xml xhtml;
aplicație/xspf+xml xspf;
aplicare/zip zip;
aplicație/octet-stream bin exe dll;
application/octet-stream deb;
application/octet-stream dmg;
application/octet-stream iso img;
aplicație/octet-stream msi msp msm;
audio/midi mid midi kar;
audio/mpeg mp3;
audio/ogg ogg;
audio/x-m4a m4a;
audio/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;
}
# fișier de configurare /etc/nginx/conf.d/frontend.dev.lightcl.conf:
limit_req_zone $binary_remote_addr zone=login:10m rate=25r/s;
în amonte uwsgi {
server uwsgi:9000;
}
amonte de bază-cert {
server de bază-cert:5000;
}
Server {
asculta 80 default_server;
nume_server gazdă locală;
keepalive_timeout 70;
gzip on;
gzip_disable „msie6”;
gzip_vary on;
gzip_proxied orice;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_versiunea 1.1;
gzip_types text/plain text/css application/json application/x-javascript application/javascript text/xml application/xml application/xml+rss text/javascript;
Locație / {
proxy_pass http://frontend-dev.s3-website-us-west-2.amazonaws.com/beta/;
expiră 30d;
}
locație /api/ {
uwsgi_pass uwsgi://uwsgi;
include uwsgi_params;
}
locație /utility/base-cert/ {
proxy_pass http://base-cert/;
}
locație /balon/fișiere/ {
rescrie ^/flask/files/(.*)$ /utility/base-cert/flask/files/$1 permanent;
}
locație /metrics {
stub_status;
}
locație /stub_status {
stub_status;
}
locație /socket.io/ {
proxy_pass http://websockets;
proxy_redirect dezactivat;
proxy_http_versiunea 1.1;
proxy_set_header Actualizare $http_upgrade;
proxy_set_header Conexiune „upgrade”;
proxy_set_header Gazdă $gazdă;
proxy_set_header X-Real-IP $adresă_la distanță;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $schema;
}
}
Server {
asculta 443 ssl;
nume_server gazdă locală;
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 HIGH:!aNULL:!MD5;
gzip on;
gzip_disable „msie6”;
gzip_vary on;
gzip_proxied orice;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_versiunea 1.1;
gzip_types text/plain text/css application/json application/x-javascript application/javascript text/xml application/xml application/xml+rss text/javascript;
locație /vpn/ {
uwsgi_pass uwsgi://uwsgi;
include uwsgi_params;
}
}
# fișier de configurare /etc/nginx/uwsgi_params:
uwsgi_param QUERY_STRING $șir_interogare;
uwsgi_param REQUEST_METHOD $cerere_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 $schemă;
uwsgi_param HTTPS $https dacă_nu_vide;
uwsgi_param REMOTE_ADDR $adresă_la distanță;
uwsgi_param REMOTE_PORT $remote_port;
uwsgi_param SERVER_PORT $server_port;
uwsgi_param SERVER_NAME $server_name;
Care ar fi rescrierea corectă?