chenenkou的笔记,技术分享,生活杂谈
CommonJS (简称CJS) 和 ES Modules (简称ESM) 是用于在 JavaScript 中实现模块化的两种不同的规范。语法差异:CommonJS 使用 require 来引入模块,使用 module.exports 或 exports 来导出模块。ESM 使用 import 来引入模块,使用 export 来导出模块。运行时加载 vs 静态加载:CommonJS 是一种运行时加载的模块系统,模块的加载是在代码执行阶段进行的。模块的导入和导出是同步的。ESM 是一种静态加载的模块系统,模块的加载是在代码解析阶段进行的。模块的导入和导出可以是异步的。浏览器兼容性:CommonJS 最初是为服务器端开发设计的,Node.js 采用了 CommonJS 规范。在浏览器端使用 CommonJS 需要使用工具进行转换,如 Browserify 或 Webpack。ESM 是 ECMAScript 标准的一部分,从 ES6 开始正式支持,现代浏览器原生支持 ESM。静态分析:ESM 的静态加载特性使得代码可以在解析阶段进行静态分析,从而可以进行更好的优化、摇树优化(tree-sh
前提需要作为代理的服务器本身可以访问OpenAI登录到您的宝塔面板,并进入“网站”选项卡。点击“添加站点”按钮并输入您的域名信息。在“Nginx设置”下,打开“配置文件”选项。示例代码:server { listen 80; # 监听80端口,用于HTTP请求 server_name openai-api.<你的域名.com>; index index.php index.html index.htm default.php default.htm default.html; root /www/wwwroot/<你的域名>-api-openai; location / { proxy_pass https://api.openai.com/; # 反向代理到https://api.openai.com/这个地址 proxy_ssl_server_name on; # 开启代理SSL服务器名称验证,确保SSL连接的安全性 proxy_set_header Host a
后台固定链接设置好伪静态固定链接结构编辑nginx配置文件location / { if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ rewrite (.*) /index.php; } }保存重启nginx服务
对于反向代理,Nginx在这里只扮演代理的角色。要使反向代理的Nginx支持206 Partial Content,可以这么做:在Nginx配置location块,添加以下配置开启范围请求支持:location / { proxy_set_header Range $http_range; proxy_set_header If-Range $http_if_range; }这会将Range和If-Range请求头传递给后端服务器。确保后端服务器能处理范围请求并返回206状态码。在Nginx访问日志中,添加$upstream_http_content_range变量来记录后端响应的Content-Range头信息。log_format main '$upstream_http_content_range';Nginx接收到后端的206响应后,会将Content-Length和Content-Range头原封不动地传递给客户端。这样Nginx就只负责透传范围请求和响应头,而不用自己处理字节内容。主要还是依赖于后端应用服务器实现部分内容支持,Nginx仅作为代理传递范围请求和响应头
确保 Nginx 安装正常在使用反向代理之前,需要确保宝塔面板下的 Nginx 安装正常,docker 下的可道云也正常运行。添加反向代理点击左侧菜单 “网络”,然后点击 “添加站点”,在弹窗内输入你的域名。添加站点成功后,点击 “设置”,在弹窗中点击 “反向代理”,添加反向代理,输入目标 URL。点击生成的那条反向代理记录的配置文件。在配置文件中增加一行配置,添加 proxy_set_header 指令,明确设置 X-Forwarded-Proto 头:proxy_set_header X-Forwarded-Proto $scheme; 配置 SSL 证书最后,点击站点设置,在弹窗中选择 SSL,输入在服务商那边申请下来的证书。