六、Nginx-正向代理和反向代理

目录

一、正向代理

1、参数详解

 2、常用变量详解

3、配置示例

二、反向代理

三、 Nginx的安全控制

1、如何使用SSL对流量进行加密

2、nginx添加SSL的支持

3、 Nginx的SSL相关指令

(1)ssl

(2)ssl_certificate

(3)ssl_certificate_key

(4)ssl_session_cache

(5)ssl_session_timeout

(6)ssl_ciphers

(7)ssl_prefer_server_ciphers

(8)生成证书

四、 反向代理系统优化

1、proxy_buffering

2、proxy_buffers

3、proxy_buffer_size

4、proxy_busy_buffers_size

5、proxy_temp_path

6、proxy_temp_file_write_size


一、正向代理

        正向代理,意思是一个位于客户端和原始服务器之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。

        假设 我们想要访问国外的网站,此时你会发现国外的网站我们通过浏览器是无法访问的,这时大家可能都会用一个操作翻墙进行访问,翻墙的方式主要是找到一个可以访问国外网站的代理服务器,我们将请求发送给代理服务器,代理服务器去访问国外的网站,然后将访问到的数据传递给我们!这就称为正向代理。

        正向代理最大的特点是客户端非常明确要访问的服务器地址;服务器只清楚请求来自哪个代理服务器,而不清楚来自哪个具体的客户端;正向代理模式屏蔽或者隐藏了真实客户端信息。

总结:正向代理就是代理客户端,客户端与代理服务器处在同一LAN(局域网)中。

1、参数详解

listen指令:#用于指定Nginx监听的端口和地址。#示例:listen 8080; 表示Nginx监听在8080端口上。
resolver指令:#用于指定DNS解析器的地址。#示例:resolver 8.8.8.8 valid=300s; 表示使用Google的公共DNS服务器进行域名解析,并设置解析结果的有效期为300秒。
proxy_pass指令:#用于指定请求应该被转发到的目标地址。#示例:proxy_pass http://backend_server; 表示将请求转发到名为backend_server的上游服务器。
proxy_set_header指令:#用于修改转发给上游服务器的请求头。#示例:proxy_set_header Host $host; 表示将原始请求的Host头转发给上游服务器。
proxy_cache指令:#用于启用缓存功能,缓存上游服务器的响应。#示例:proxy_cache path/to/cache; 表示启用缓存,并将缓存文件存储在path/to/cache目录下。
proxy_cache_valid指令:#用于为不同的响应状态码设置不同的缓存有效期。#示例:proxy_cache_valid 200 304 12h; 表示对于状态码为200和304的响应,缓存有效期为12小时。
proxy_connect_timeout指令:#用于设置与上游服务器建立连接的超时时间。#示例:proxy_connect_timeout 60s; 表示建立连接的超时时间为60秒。
proxy_read_timeout指令:#用于设置从上游服务器读取响应的超时时间。#示例:proxy_read_timeout 60s; 表示读取响应的超时时间为60秒。
proxy_send_timeout指令:#用于设置向上游服务器发送请求的超时时间。#示例:proxy_send_timeout 60s; 表示发送请求的超时时间为60秒。
client_max_body_size指令:#用于设置客户端请求体的最大允许大小。#示例:client_max_body_size 10m; 表示客户端请求体的最大允许大小为10MB。------    
Proxy Buffer相关指令
1. proxy_buffering
#该指令用来开启或者关闭代理服务器的缓冲区
#语法:proxy_buffering on|off;
#默认值:proxy_buffering on;
#位置:http、server、location
2、proxy_buffers
#该指令用来指定单个连接从代理服务器读取响应的缓存区的个数和大小。
#语法:proxy_buffers number size;
#    number:缓冲区的个数
#    size:每个缓冲区的大小,缓冲区的总大小就是number*size
#默认值:proxy_buffers 8 4k | 8K;(与系统平台有关)
#位置:http、server、location
3、proxy_buffer_size
#该指令用来设置从被代理服务器获取的第一部分响应数据的大小。保持与proxy_buffers中的size一致即可,当然也可以更小。
4、proxy_busy_buffers_size
#高负荷下缓冲大小(proxy_buffers*2)
5、proxy_temp_path
#当缓冲区存满后,仍未被Nginx服务器完全接受,响应数据就会被临时存放在磁盘文件上,该指令设置文件路径
#默认值:proxy_temp_path proxy_temp;
6、 proxy_temp_file_write_size
#设定缓存文件夹大小,大于这个值,将从upstream服务器传示例:
proxy_buffering on;
proxy_buffer_size 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;

 2、常用变量详解

$arg_NAME:
#这个变量用于获取 GET 请求中指定名称(NAME)的参数值。
#例如,如果请求是 /example?name=John,那么 $arg_name 的值就是 "John"。
$uri:
#此变量包含请求中的当前 URI(不带请求参数),参数位于 $args 中。它可能不同于浏览器传递的 $request_uri 的值,因为它可以通过内部重定向或使用 index 指令进行修改。$uri 不包含主机名。
$request_uri:
#这个变量包含完整的原始请求 URI(包括参数),即客户端在 HTTP 请求行中发送的 URI。
$host:
#包含了请求行中的主机名,以及可能的端口号。
$http_HEADER:
#这里的 HEADER 是指 HTTP 请求头中的字段名。使用这个变量可以获取到请求头中对应字段的值。例如,$http_user_agent 会获取到用户代理字符串。
$remote_addr:
#客户端的 IP 地址。
$document_root:
#当前请求在服务器上的根目录。
$server_name:
#请求到达的服务器名。
$server_port:
#请求到达的服务器的端口号。
$request_filename:
#当前请求的文件路径名,由 $document_root 和 $uri 组成。

3、配置示例

#正向代理转发http请求
server {               listen 80;    resolver 114.114.114.114;        server_name  localhost;  #正向代理转发http请求    location / {        proxy_pass                 http:$host$request_uri; #设定代理服务器的协议和地址       proxy_set_header           HOST $host;        proxy_buffers              256 4k;        proxy_max_temp_file_size   0k;        proxy_connect_timeout      30;        proxy_send_timeout         60;        proxy_read_timeout         60;        proxy_next_upstream error  timeout invalid_header http_502;}
}#正向代理转发https请求
server {     resolver 114.114.114.114;    #监听443端口,https默认端口443    listen 443;   #正向代理转发https请求   proxy_connect;   proxy_connect_allow            443 563;   proxy_connect_connect_timeout  10s;   proxy_connect_read_timeout     10s;   proxy_connect_send_timeout     10s;   location / {        proxy_pass http:$host;        proxy_set_header Host $host;   }
}检查配置是否正确
sbin/nginx -t
启动,验证

二、反向代理

        反向代理指的是位于客户端与服务端之间的代理服务器。与正向代理不同的是,客户端直接访问代理服务器,然后代理服务器向服务端转发请求并将服务端返回的资源返回给客户端。

        客户端对代理是无感知的,因为客户端不需要配置任何配置参数就可以访问,客户端只需要将请求发送到反向代理服务器,由反向代理服务器去请求目标服务器获取数据后,再返回给客户端,此时反向代理服务器和目录服务器对外就是一个服务器,暴露的是代理代理服务器地址,隐藏了真实服务器IP地址。

        总结:反向代理就是代理服务端,服务端与代理服务器处在同一LAN(局域网)中。

        反向代理的主要作用是提供负载均衡和高可用性。

        Nginx反向代理模块的指令是由 ngx_http_proxy_module模块进行解析,该模块在安装Nginx的时候已经自己加装到Nginx中了,接下来我们把反向代理中的常用指令一一介绍下: 

proxy_pass http://127.0.0.1:80;
#该指令用来设置被代理服务器地址,可以是主机名称、IP地址加端口号形式。
#位置:locationproxy_set_header 
#该指令可以更改Nginx服务器接收到的客户端请求的请求头信息,然后将新的请求头发送给被代理的服务器即目标服务器。
#默认值:proxy_set_header Host $proxy_host;proxy_set_header Connection close;proxy_redirect off;
#在使用Nginx做反向代理功能时,有时会出现重定向的url不是我们想要的url,这时候就可以使用proxy_redirect进行url重定向设置了。
#proxy_redirect功能比较强大,其作用是对发送给客户端的URL进行修改。
#默认:proxy_redirect default;
#配置块(使用的字段):http、server、location
#我们是关闭此项的。
proxy_set_header X-Real-IP $remote_addr;
#把源IP 【$remote_addr,建立HTTP连接header里面的信息】赋值给X-Real-IP;这样在代码中 $X-Real-IP来获取 源IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#后端的Web服务器可以通过X-Forwarded-For获取用户真实IP(作为代理服务器时,设置的IP列表,会把经过的机器ip,代理机器ip都记录下来,用 【,】隔开;代码中用 echo $x-forwarded-for |awk -F, '{print $1}' 来作为源IP)#以下是一些反向代理的配置,可选。# 这将帮助减少缓冲区溢出攻击的可能性#允许客户端请求的最大单文件字节数。外面的快设置之后这里不需要在设置了。client_max_body_size 10m;#缓冲区代理缓冲用户端请求的最大字节数,client_body_buffer_size 128k;
# 为客户端设置超时时间    
#nginx跟后端服务器连接超时时间(代理连接超时);#nginx服务器与被代理的服务器建立连接的超时时间,默认60秒
proxy_connect_timeout 60;
#后端服务器数据回传时间(代理发送超时);#nginx服务器想被代理服务器组发出read请求后,等待响应的超时间,默认为60秒。
proxy_send_timeout 30;
#连接成功后,后端服务器响应时间(代理接收超时);#nginx服务器想被代理服务器组发出write请求后,等待响应的超时间,默认为60秒。
proxy_read_timeout 90;
#支持客户端的请求方法。post/get;
proxy_method get;
#客户端断网时,nginx服务器是否中断对被代理服务器的请求。默认为off。
proxy_ignore_client_abort on;
#存放http报文头的哈希表容量上限,默认为512个字符。
proxy_headers_hash_max_size 1024;
#nginx服务器申请存放http报文头的哈希表容量大小。(默认64)
proxy_headers_hash_bucket_size 128;
#反向代理upstream中设置的服务器组,出现故障时,被代理服务器返回的状态值。error|timeout|invalid_header|http_500|http_502|http_503|http_504|http_404|off
proxy_next_upstream timeout;

示例: 

#反向代理转发请求
server {listen       80;    #监听端口server_name  locahost;                                              error_page 404  /404.html;error_page 403  /403.html;location /AsynSlProj/webService{proxy_headers_hash_max_size 512;    #设置头部哈希表的最大值proxy_headers_hash_bucket_size 128;    #设置头部哈希表大小proxy_redirect off;    #关闭代理重定向proxy_set_header Host $host:$server_port;    #将代理服务WSDL地址转换为代理服务器本机地址proxy_set_headerX-Real-IP $remote_addr;proxy_set_headerX-Forwarded-For $proxy_add_x_forwarded_for;client_max_body_size 50m;    #允许客户端请求的最大单文件字节数client_body_buffer_size 256k;    #缓冲区代理缓冲用户端请求的最大字节数proxy_connect_timeout 10;    #nginx跟后端服务器连接超时时间proxy_read_timeout 600;    #连接成功后,后端服务器响应时间proxy_send_timeout 600;    #后端服务器数据回传时间proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;proxy_pass http://127.0.0.1:80;index  index.html index.htm index.jsp;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}
}

三、 Nginx的安全控制

        关于web服务器的安全是比较大的一个话题,里面所涉及的内容很多,Nginx反向代理是如何来提升web服务器的安全呢?

        – 安全隔离。

        什么是安全隔离

        通过代理分开了客户端到应用程序服务器端的连接,实现了安全措施。在反向代理之前设置防火墙,仅留一个入口供代理服务器访问。

1、如何使用SSL对流量进行加密

        翻译成大家能熟悉的说法就是将我们常用的http请求转变成https请求,那么这两个之间的区别简单的来说两个都是HTTP协议,只不过https是身披SSL外壳的http。

        HTTPS是一种通过计算机网络进行安全通信的传输协议。它经由HTTP进行通信,利用SSL/TLS建立全通信,加密数据包,确保数据的安全性。

        SSL(Secure Sockets Layer)安全套接层。

        TLS(Transport Layer Security)传输层安全。

        上述这两个是为网络通信提供安全及数据完整性的一种安全协议,TLS和SSL在传输层和应用层对网络连接进行加密。

        总结来说为什么要使用https:

        http协议是明文传输数据,存在安全问题,而https是加密传输,相当于http+ssl,并且可以防止流量劫持。

        Nginx要想使用SSL,需要满足一个条件即需要添加一个模块--with-http_ssl_module,而该模块在编译的过程中又需要OpenSSL的支持

2、nginx添加SSL的支持

        nginx添加支持 的模块在此不做详解

3、 Nginx的SSL相关指令

(1)ssl

该指令用来在指定的服务器开启HTTPS,可以使用 listen 443 ssl,后面这种方式更通用些。

语法

ssl on | off;

默认值

ssl off;

位置

http、server

server{listen 443 ssl;server_name locahost;#或者ssl on;
}

(2)ssl_certificate

ssl_certificate:为当前这个虚拟主机指定一个带有PEM格式证书的证书。

语法

ssl_certificate file;

默认值

位置

http、server

(3)ssl_certificate_key

该指令用来指定PEM secret key文件的路径

语法

ssl_ceritificate_key file;

默认值

位置

http、server

server {ssl on;ssl_certificate  /usr/local/nginx/cert/server.crt;ssl_certificate_key /usr/local/nginx/cert/server.key;
}

(4)ssl_session_cache

该指令用来配置用于SSL会话的缓存

语法

ssl_sesion_cache off|none|[builtin[:size]] [shared:name:size]

默认值

ssl_session_cache none;

位置

http、server

off:禁用会话缓存,客户端不得重复使用会话

none:禁止使用会话缓存,客户端可以重复使用,但是并没有在缓存中存储会话参数

builtin:内置OpenSSL缓存,仅在一个工作进程中使用。

shared:所有工作进程之间共享缓存,缓存的相关信息用name和size来指定

(5)ssl_session_timeout

开启SSL会话功能后,设置客户端能够反复使用储存在缓存中的会话参数时间。

语法

ssl_session_timeout time;

默认值

ssl_session_timeout 5m;

位置

http、server

(6)ssl_ciphers

指出允许的密码,密码指定为OpenSSL支持的格式.可以使用openssl ciphers查看openssl支持的格式。

语法

ssl_ciphers ciphers;

默认值

ssl_ciphers HIGH:!aNULL:!MD5;

位置

http、server

(7)ssl_prefer_server_ciphers

该指令指定是否服务器密码优先客户端密码

语法

ssl_perfer_server_ciphers on|off;

默认值

ssl_perfer_server_ciphers off;

位置

http、server

(8)生成证书

在此使用openssl生成证书。步骤是创建一个私钥和一个自签名证书,然后将它们配置到 Nginx 中

创建证书存放目录
mkdir  /usr/local/nginx/cert
cd /use/local/nginx/cert
1、生成服务器私钥,这个命令生成了一个 1024 位的 RSA 私钥,并且用 DES3 对其进行了加密保护。在执行此命令时,会提示您输入一个密码短语来保护私钥。
openssl genrsa -des3 -out server.key 1024
2. 根据服务器私钥文件生成证书请求文件,这个文件中会包含申请人的一些信息,所以执行下面这行命令过程中需要用户在命令行输入一些用户信息,随便填写,一路回车即可。
openssl req -new -key server.key -out server.csr
3、为了不需要在每次重启nginx的时候都输入密码
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
4、用第一步的私钥和第二步的请求文件生成证书
openssl x509 -req -in server.csr -signkey server.key -days 3650 -out server.crt 

四、 反向代理系统优化

反向代理值Buffer和Cache

Buffer翻译过来是"缓冲",Cache翻译过来是"缓存"。

总结下:

相同点:
两种方式都是用来提供IO吞吐效率,都是用来提升Nginx代理的性能。
不同点:
缓冲主要用来解决不同设备之间数据传递速度不一致导致的性能低的问题,缓冲中的数据一旦此次操作完成后,就可以删除。
缓存主要是备份,将被代理服务器的数据缓存一份到代理服务器,这样的话,客户端再次获取相同数据的时候,就只需要从代理服务器上获取,效率较高,缓存中的数据可以重复使用,只有满足特定条件才会删除.

Proxy Buffer相关指令

1、proxy_buffering

该指令用来开启或者关闭代理服务器的缓冲区

语法

proxy_buffering on|off;

默认值

proxy_buffering on;

位置

http、server、location

2、proxy_buffers

该指令用来指定单个连接从代理服务器读取响应的缓存区的个数和大小。

语法

proxy_buffers number size;

默认值

proxy_buffers 8 4k | 8K;(与系统平台有关)

位置

http、server、location

number:缓冲区的个数

size:每个缓冲区的大小,缓冲区的总大小就是number*size

3、proxy_buffer_size

该指令用来设置从被代理服务器获取的第一部分响应数据的大小。保持与proxy_buffers中的size一致即可,当然也可以更小。

语法

proxy_buffer_size size;

默认值

proxy_buffer_size 4k | 8k;(与系统平台有关)

位置

http、server、location

4、proxy_busy_buffers_size

该指令用来限制同时处于BUSY状态的缓冲总大小。

语法

proxy_busy_buffers_size size;

默认值

proxy_busy_buffers_size 8k|16K;

位置

http、server、location

5、proxy_temp_path

当缓冲区存满后,仍未被Nginx服务器完全接受,响应数据就会被临时存放在磁盘文件上,该指令设置文件路径

语法

proxy_temp_path path;

默认值

proxy_temp_path proxy_temp;

位置

http、server、location

6、proxy_temp_file_write_size

该指令用来设置磁盘上缓冲文件的大小。

语法

proxy_temp_file_write_size size;

默认值

proxy_temp_file_write_size 8K|16K;

位置

http、server、location

通用网站的配置:

proxy_buffering on;
proxy_buffer_size 4k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/29062.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Kaggle量化比赛】Top讨论

问: 惊人的单模型得分,请问您使用了多少个特征来获得如此高的得分?我也在使用LGB模型。 答 235个特征(180个基本特征+滚动特征) 问: 您是在使用Polars进行特征工程还是仅依赖于Pandas+Numba/多进程?即使进行了Numba优化,我也发现当滚动特征过多时,推理速度会非常慢。在…

淘宝商品评论API接口测试实例(获取淘宝商品评论,翻页展示、支持并发)

item_review-获得淘宝商品评论 测试页 公共参数 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secretString是调用密钥api_nameString是API接口名称(包括在请求地址中)[item_search,item_get,item_search_shop…

设计灵感源泉!7个令人赞叹的网页界面设计展示

网页的界面设计主要是指视觉设计和风格设计。高质量的界面更容易吸引用户的注意力,从而更准确地向用户传达信息。对于设计师来说,他们需要从高质量的作品中获得稳定的灵感,以帮助他们更高效地实现设计目标。在本文中,梳理了7个高质…

人工智能抢走了他们的工作。现在他们得到报酬,让它听起来像人类

人工智能抢走了他们的工作。现在他们得到报酬,让它听起来像人类 如果你担心人工智能会如何影响你的工作,那么广告文案的世界或许能让你窥见未来。 作家本杰明米勒(化名)在2023年初非常红火。他领导了一个由60多名作家和编辑组成的团队,发表博…

一文了解Java 中的String、StringBuffer 与StringBuilder

String结构剖析 String是final 类,不能被其他的类继承 String有属性private final char vaLue[]; 用于存放字符串内容 注意: value 是个final类型, 不可以修改: 即value不能指向新的地址,但是单个字符内容是可以变化 两种创建String对象的区…

24执业药师报名时间汇总及报名流程!

24执业药师报名时间汇总!报名流程! 🕛️各省市报名时间汇总(共9地) 西藏:6月29日-7月8日 新疆:6月25日10:30-7月9日19:00 内蒙古:6月20日9:00-7月3日24:00 新疆兵团:6月2…

RPG游戏完整指南

环境:unity2021urp 本教程教大家如何使用Unity创建一个RPG游戏,玩家可以在城镇场景中进行导航并寻找战斗,并在战斗中遇到不同类型的敌人。玩家可以向敌人施加不同的动作,如:常规攻击和撤离。这会是一个十分有趣的体验。…

git将代码提交到github

第一次代码提交 1.在github新建一个空白仓库 2、当前在文件下 3、git init 5、git add .(当前目录下所有代码全部提交) 6、git commit -n "init" 这次提交的备注信息 7、git branch -M main 8、git remote add origin (address) 9、git push -u origin main 第…

格雷母线在无人天车定位中的应用

随着工业自动化的不断发展,实现无人天车的精准定位与高效运行,一套高精度的位移测量系统显得至关重要。格雷母线高精度位移测量系统,凭借其卓越的定位性能,成为无人天车的理想选择。 格雷母线高精度位移测量系统由武汉市微深节能科…

如何使用视频文案提取帮手将手机上视频里的声音转成文字?

在自媒体短视频日益增加的时候不少自媒体创作者如何将视频转文字的需求日益增加。本次将给大家分享一款针对广大职场青年用户群体的视频转文字工具,旨在为用户提供高效、准确的视频转文字服务。 如何将手机上的视频转成文字呢 视频转文字工具具有转换速度快&#…

轮式机器人Swiss-Mile城市机动性大提升:强化学习引领未来城市物流

喜好儿小斥候消息,苏黎世联邦理工学院的研究团队成功开发了一款革命性的机器人控制系统,该系统采用强化学习技术,使轮式四足机器人在城市环境中的机动性和速度得到了显著提升。 喜好儿网 这款专为轮腿四足动物设计的控制系统,能…

机械臂抓取物体整体的开发流程

开发一个机械臂抓取物体的系统涉及多个步骤和不同领域的知识,包括机械设计、控制系统、传感器集成、软件开发等。以下是一个全面的开发流程概述: 1. 需求分析与系统设计 需求分析: 明确机械臂需要抓取的物体类型(大小、重量、材…

618必抢清单:内存升级国货更强,DDR5劲爆大白菜

随着数字时代的加速发展,平时在PC上玩游戏、办公的时候,电脑性能对我们的影响越来越打。相比于CPU、显卡等硬件,内存对于电脑性能的重要性也很高,而且可以通过更低的成本来升级。内存就像是电脑的神经网络,影响着CPU数…

超强生图模型,抢先体验!

文生图模型Stable Diffusion 3 Medium开源啦!优刻得GPU云主机目前已上线该模型镜像,开箱即用,即刻体验!具体操作见文末。 近年来,生成式人工智能的快速发展正在改变我们的生活。作为这一领域的前沿技术之一&#xff0…

成都跃享未来教育咨询解锁新篇章

在快节奏的现代社会中,每个人都在追求着属于自己的非凡人生。而成都跃享未来教育咨询,正是那个能够智慧引领你走向成功、成就非凡人生的灯塔。 跃享未来教育咨询,位于历史悠久的文化名城成都,这里不仅有丰富的文化底蕴&#xff0c…

python-03

使用File操作文件 open(file, moder, buffering-1,encodingNone, errorsNone, newlineNone, closefdTrue, openerNone) file:要打开的文件 mode:文件打开模式。默认访问模式是读(r) buffering:缓冲区大小 encodin…

【proteus仿真】基于51单片机的电压检测系统

【proteus仿真】基于51单片机的电压检测系统 资料下载地址:关注公众号 小邵爱电子 获取 1.前言 使用51单片机和ADC模块设计一个数字电压表,将模拟信号0~5V之间的电压转换为数字量信号,并通过LED实时显示电压数据 、 2.仿真原理图 3.硬件…

AI写代码,CS还有前途吗?加州大学伯克利分校:CDSS申请人数激增48%!

目录 01 CS入学人数暴涨 02 人类Coder可堪大任 03 AI还没有学会创新 04 编程与农耕不同 AI写了这么多代码,你还应该学习计算机科学吗? 新的数据显示,学生们仍然热衷于选修计算机科学:加州大学伯克利分校(UCB&#…

低代码组件扩展方案在复杂业务场景下的设计与实践

组件是爱速搭的前端页面可视化模块的核心能力之一,它将前端研发人员从无休止的页面样式微调和分辨率兼容工作中解放了出来。 目前,爱速搭通过内置的上百种功能组件(120),基本可以覆盖大部分中后台页面的可视化设计场景…

如何安全进行亚马逊、沃尔玛测评?

在亚马逊、沃尔玛、速卖通、阿里国际站等电商平台上,测评已成为一种高效的推广手段,但伴随的风险也不容忽视。这些风险主要源于平台严格的大数据风控机制,它涵盖了多个方面,以确保评价的真实性和合规性。 首先,硬件参数…