ฉันต้องการเขียนใหม่ /ขวด/ไฟล์/
เส้นทางสู่ /utility/base-cert/ขวด/files/
. ผมก็เลยลองทำตาม
ตำแหน่ง / ยูทิลิตี้ / ฐานใบรับรอง / {
proxy_pass http://base-cert/;
}
ตำแหน่ง /ขวด/ไฟล์/ {
เขียนใหม่ ^/flask/files/(.*)$ /utility/base-cert/flask/files/$1 ถาวร;
}
ใบรับรองฐาน
แอป (http://base-cert/
) เป็นเพียงการให้บริการไฟล์ที่ดาวน์โหลดได้บางไฟล์
แต่มันใช้งานได้เฉพาะกับไฟล์ txt แต่ไม่ใช่สำหรับไฟล์อื่น
ในบันทึกที่ฉันเห็น
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 เช่น 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 เช่น Gecko) Chrome/98.0.4758.80 Safari/537.36" "x.x.x.x"
ในเบราว์เซอร์ ฉันเห็นข้อผิดพลาดต่อไปนี้
เนื้อหาผสม: ไซต์ที่ 'https://dev.example.com/' ถูกโหลดผ่านการเชื่อมต่อที่ปลอดภัย แต่ไฟล์ที่ 'https://dev.example.com/utility/base-cert/flask/files/ base.crt' ถูกเปลี่ยนเส้นทางผ่านการเชื่อมต่อที่ไม่ปลอดภัย ไฟล์นี้ควรให้บริการผ่าน HTTPS การดาวน์โหลดนี้ถูกบล็อก ดู https://blog.chromium.org/2020/02/protecting-users-from-insecure.html สำหรับรายละเอียดเพิ่มเติม
เอาต์พุต Nginx
root@nginx-64fbcf4c54-2dkq7:/# nginx -T
nginx: ไฟล์การกำหนดค่า /etc/nginx/nginx.conf ไวยากรณ์ใช้ได้
nginx: การทดสอบไฟล์การกำหนดค่า /etc/nginx/nginx.conf สำเร็จ
# ไฟล์กำหนดค่า /etc/nginx/nginx.conf:
ผู้ใช้ nginx;
worker_processes อัตโนมัติ
error_log /var/log/nginx/error.log ประกาศ;
pid /var/run/nginx.pid;
เหตุการณ์ {
worker_connections 1024;
}
http {
รวม /etc/nginx/mime.types;
แอปพลิเคชัน default_type/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request"'
'$สถานะ $body_bytes_sent "$http_referer"'
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log หลัก;
ส่งไฟล์บน;
#tcp_nopush บน;
keepalive_timeout 65;
#gzip บน;
รวม /etc/nginx/conf.d/*.conf;
}
# ไฟล์กำหนดค่า /etc/nginx/mime.types:
ประเภท {
ข้อความ/html html htm shtml;
ข้อความ/css css;
ข้อความ/xml xml;
รูปภาพ/gif gif;
รูปภาพ/jpeg jpeg jpg;
แอปพลิเคชัน/จาวาสคริปต์ js;
แอ็พพลิเคชัน/atom+xml อะตอม;
แอปพลิเคชัน/rss+xml rss;
ข้อความ/mathml mml;
ข้อความ/ธรรมดา txt;
text/vnd.sun.j2me.app-descriptor jad;
ข้อความ/vnd.wap.wml wml;
ข้อความ/x-คอมโพเนนต์ htc;
ภาพ/avif avif;
รูปภาพ/png png;
ภาพ/svg+xml svg svgz;
รูปภาพ/tiff tif tiff;
ภาพ/vnd.wap.wbmp wbmp;
รูปภาพ/เว็บเพจ เว็บเพจ;
ไอคอนรูปภาพ/x-icon;
ภาพ/x-jng jng;
ภาพ/x-ms-bmp bmp;
ตัวอักษร/woff woff;
ตัวอักษร/woff2 woff2;
แอปพลิเคชัน / java-archive jar war ear;
แอปพลิเคชัน/json json;
แอปพลิเคชัน/mac-binhex40 hqx;
เอกสารแอปพลิเคชัน/msword;
ใบสมัคร/pdf pdf;
ใบสมัคร/postscript ps eps ai;
แอปพลิเคชัน/rtf rtf;
แอปพลิเคชัน/vnd.apple.mpegurl m3u8;
application/vnd.google-earth.kml+xml kml;
แอปพลิเคชัน/vnd.google-earth.kmz kmz;
แอปพลิเคชัน/vnd.ms-excel xls;
application/vnd.ms-fontobject eot;
แอปพลิเคชัน/vnd.ms-powerpoint ppt;
แอปพลิเคชัน/vnd.oasis.opendocument.graphics odg;
แอปพลิเคชัน/vnd.oasis.opendocument.presentation odp;
application/vnd.oasis.opendocument.spreadsheet ods;
แอปพลิเคชัน/vnd.oasis.opendocument.text odt;
แอปพลิเคชัน/vnd.openxmlformats-officedocument.presentationml.presentation
pptx;
แอปพลิเคชัน/vnd.openxmlformats-officedocument.spreadsheetml.sheet
xlsx;
แอปพลิเคชัน/vnd.openxmlformats-officedocument.wordprocessingml.document
docx;
แอปพลิเคชัน/vnd.wap.wmlc wmlc;
ใบสมัคร/wasm wasm;
แอปพลิเคชัน/x-7z-บีบอัด 7z;
ใบสมัคร/x-cocoa cco;
แอปพลิเคชัน/x-java-archive-diff jardiff;
แอปพลิเคชัน/x-java-jnlp-file jnlp;
เรียกใช้แอปพลิเคชัน / x-makeself;
แอปพลิเคชัน/x-perl pl pm;
แอปพลิเคชัน/x-pilot prc pdb;
แอปพลิเคชั่น/x-rar-บีบอัด rar;
แอปพลิเคชั่น / x-redhat-package-manager รอบต่อนาที;
ใบสมัคร / ทะเล x-sea;
แอปพลิเคชั่น/x-shockwave-แฟลช swf;
แอปพลิเคชั่น / นั่ง x-stuffit;
ใบสมัคร/x-tcl tcl tk;
ใบสมัคร/x-x509-ca-cert จาก pem crt;
แอปพลิเคชัน/x-xpinstall xpi;
แอปพลิเคชัน/xhtml+xml xhtml;
แอปพลิเคชัน/xspf+xml xspf;
แอปพลิเคชั่น / ซิปซิป;
แอปพลิเคชัน / octet-stream bin exe dll;
แอ็พพลิเคชัน/octet-stream deb;
แอปพลิเคชัน/octet-stream dmg;
แอปพลิเคชั่น/octet-stream iso img;
แอปพลิเคชัน/ออคเต็ตสตรีม msi msp msm;
เสียง/midi กลาง midi kar;
เสียง/mpeg mp3;
เสียง/ogg ogg;
เสียง/x-m4a m4a;
เสียง/x-realaudio ra;
วิดีโอ/3gpp 3gpp 3gp;
วิดีโอ/mp2t ts;
วิดีโอ/mp4 mp4;
วิดีโอ/mpeg mpeg mpg;
วิดีโอ/quicktime mov;
วิดีโอ/เว็บเอ็ม เว็บเอ็ม;
วิดีโอ/x-flv flv;
วิดีโอ/x-m4v m4v;
วิดีโอ/x-mng mng;
วิดีโอ/x-ms-asf asx asf;
วิดีโอ/x-ms-wmv wmv;
วิดีโอ/x-msvideo avi;
}
# ไฟล์การกำหนดค่า /etc/nginx/conf.d/frontend.dev.lightcl.conf:
limit_req_zone $binary_remote_addr zone=เข้าสู่ระบบ:อัตรา 10m=25r/s;
ต้นน้ำ uwsgi {
เซิร์ฟเวอร์ uwsgi:9000;
}
ใบรับรองฐานอัปสตรีม {
ใบรับรองฐานเซิร์ฟเวอร์: 5,000;
}
เซิร์ฟเวอร์ {
ฟัง 80 default_server;
server_name localhost;
keepalive_timeout 70;
เปิด gzip;
gzip_disable "msie6";
gzip_vary บน;
gzip_proxyed ใด ๆ ;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
ข้อความ gzip_types/ข้อความล้วน/แอปพลิเคชัน css/แอปพลิเคชัน json/แอปพลิเคชัน x-javascript/ข้อความจาวาสคริปต์/แอปพลิเคชัน xml/แอปพลิเคชัน xml/xml+rss ข้อความ/จาวาสคริปต์;
ที่ตั้ง / {
proxy_pass http://frontend-dev.s3-website-us-west-2.amazonaws.com/beta/;
หมดอายุ 30d;
}
ตำแหน่ง /api/ {
uwsgi_pass uwsgi://uwsgi;
รวม uwsgi_params;
}
ตำแหน่ง / ยูทิลิตี้ / ฐานใบรับรอง / {
proxy_pass http://base-cert/;
}
ตำแหน่ง /ขวด/ไฟล์/ {
เขียนใหม่ ^/flask/files/(.*)$ /utility/base-cert/flask/files/$1 ถาวร;
}
สถานที่ / เมตริก {
stub_status;
}
ตำแหน่ง /stub_status {
stub_status;
}
ตำแหน่ง /socket.io/ {
proxy_pass http://websockets;
ปิด proxy_redirect;
proxy_http_version 1.1;
proxy_set_header อัพเกรด $http_upgrade;
proxy_set_header การเชื่อมต่อ "อัปเกรด";
proxy_set_header โฮสต์ $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
เซิร์ฟเวอร์ {
ฟัง 443 ssl;
server_name localhost;
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 สูง:!aNULL:!MD5;
เปิด gzip;
gzip_disable "msie6";
gzip_vary บน;
gzip_proxyed ใด ๆ ;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
ข้อความ gzip_types/ข้อความล้วน/แอปพลิเคชัน css/แอปพลิเคชัน json/แอปพลิเคชัน x-javascript/ข้อความจาวาสคริปต์/แอปพลิเคชัน xml/แอปพลิเคชัน xml/xml+rss ข้อความ/จาวาสคริปต์;
ตำแหน่ง /vpn/ {
uwsgi_pass uwsgi://uwsgi;
รวม uwsgi_params;
}
}
# ไฟล์กำหนดค่า /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 โครงการ $;
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;
การเขียนซ้ำที่ถูกต้องคืออะไร ?