网络
在 Kubernetes 中如何给 NodePort 配置 NetworkPolicy
· ☕ 5 分钟
1. 需求背景 如上图,业务方需要隔离 namespae 的服务,禁止 bar 空间的负载访问,而允许用户从 Load Balancer (LB) 通过 NodePort 访问服务。可以很容易地写出一个网络策略: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 apiVersion:networking.k8s.io/v1kind:NetworkPolicymetadata:name:test-network-policynamespace:foospec:podSelector:matchLabels:{}policyTypes:- Ingressingress:- from:- ipBlock:cidr:10.2.3.4/32- namespaceSelector:matchExpressions:- key:regionoperator:NotInvalues:- bar 然而从 LB 访问的流量被完全禁止,不符合预期。在技术社区检索得

Kubernetes网络权威指南:基础、原理与实践
· ☕ 1 分钟
作者: 杜军 出版社: 电子工业出版社 出版年: 2019-10 ISBN: 9787121373398 Notes: 网络是 Kubernetes 中不易掌握的一个难点。网络故障会直接影响现有的负载,通常是十分紧急的问题。而网络相关的知识相较于应用开发更底层,很多的细节,需要长期的积累。 书中相关的要点之前陆续都有所接触,通过阅读这

Django 大文件传输
· ☕ 2 分钟
1. 直接返回文件 如果静态文件在工程根目录的 media/test.zip,需要先将文件读入内存,再进行传输。代码如下: settings.py 配置 1 2 PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__)) MEDIA_ROOT = os.path.join(PROJECT_ROOT, 'media/') yourapp/views.py 1 2 3 4 5 6 7 8 9 10 11 12 from django.conf import settings from django.http import HttpResponse from django.core.files.storage import FileSystemStorage def download_file_direct_from_file(request): file_system = FileSystemStorage(settings.MEDIA_ROOT) file_name = 'test.zip' with file_system.open(file_name) as f: response = HttpResponse(f) response['Content-Type'] = 'application/%s' % file_name.split('.')[-1] response['Content-Disposition'] = 'attachment; filename="%s"'% file_name return

同源策略与跨域访问
· ☕ 2 分钟
1. 同源策略 同源策略是浏览器的安全基石。 同源的定义,包括三个方面: 协议相同 域名相同 端口相同 限制范围: Cookie、LocalStorage 和 IndexDB 无法读取 DOM 无法获得 AJAX 请求不能发送 简单说,协议、域名、端口三者任意不同的两个 URL 之间不允许通信,范围包括

DDoS 攻击入门
· ☕ 7 分钟
1. 什么是 DDoS 举个栗子,春节买票期间,高铁票一出,全国人民都向12306的服务器发送连接请求。然后,12306的服务器就会不响应或者较慢响应网页请求。这就构成了一次DDoS攻击。通过大量并发的请求,迫使目标服务受到影响,甚至终止。 DDoS攻击是