『贴代码』
PasteSpider
PasteForm
精选作品
优选问答
成长笔记
【本期话题】更多
                                    我们在开发中经常遇到对方的接口请求有频率限制,比如当前接口每秒的请求不能大于100,不能大于1000,对于这样的,我们作为请求方,如何做限定?
                    
PasteSpider中关于Nginx的配置,安装PasteSpider之后查阅
尘埃 2024-08-03 3006 176 0 编辑
PasteSpider中的Nginx如何配置,及配置需要注意的点!

更多PasteSpider的操作介绍,请前往 PasteSpider操作文档


很多人是使用Nginx作为代理的,比如你安装了PasteSpider之后

image.png

一般不会使用加端口的模式进行访问吧,一般会挂载一个域名,比如http://spider.xxx.com/

甚至会给挂载一个https的

这里以https://spider.pastecode.cn为例


image.png


如上图所示,我安装后使用的是8006端口

由于外部访问是域名的模式,所以我这里其实8006不需要对外开放这个端口

则我的nginx的配置如下:

server {
  server_name spider.pastecode.cn;
  #charset koi8-r;
  #access_log  logs/pastecode.access.log main;
  location /api/ {
    proxy_pass http://127.0.0.1:8006/api/;
    proxy_set_header Host "$server_addr:$server_port";
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header referer "$server_addr:$server_port";
    proxy_http_version 1.1;
    client_max_body_size 20M;
    client_body_buffer_size 20M;
    proxy_set_header Connection "Keep-Alive";
    proxy_connect_timeout 600;
    proxy_send_timeout 600;
    proxy_read_timeout 600;
  }
  location /statushub {
    proxy_pass http://127.0.0.1:8006;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
  }
  location /swagger/ {
    proxy_pass http://127.0.0.1:8006/swagger/;
    proxy_set_header Host "$server_addr:$server_port";
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header referer "$server_addr:$server_port";
    proxy_http_version 1.1;
    proxy_set_header Connection "Keep-Alive";
    proxy_connect_timeout 600;
    proxy_send_timeout 600;
    proxy_read_timeout 600;
  }
  location / {
    root /spider/static/spider/web;
    proxy_set_header Host "$server_addr:$server_port";
    index index.html;
  }
  #location ~/web/(.*)$ {
  #        root /web/;
  #        error_page 404 https://www.abc.com/$1;
  #}
  error_page 404 /404.html;
  listen 443 ssl; # managed by Certbot
  ssl_certificate /etc/letsencrypt/live/spider.pastecode.cn/fullchain.pem; # managed by Certbot
  ssl_certificate_key /etc/letsencrypt/live/spider.pastecode.cn/privkey.pem; # managed by Certbot
  include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
  ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}
server {
  if ($host = spider.pastecode.cn) {
    return 301 https://$host$request_uri;
  } # managed by Certbot
  listen 80;
  server_name spider.pastecode.cn pastespider.pastecode.cn;
  return 404; # managed by Certbot
}

注意看

location /statushub

由于PasteSpider配置了实时通讯模块,就是管理页面中可以实时被通知

某些任务开始执行

某些任务执行成功

某些任务执行失败等信息

还有一个是

 client_max_body_size 20M; 

 client_body_buffer_size 20M;


由于在升级的时候,如果你使用PasteSpiderFile执行项目文件的同步,则需要考虑这个设置多大,才能使你的项目文件被上传到服务器上!


我上面的配置是PasteSpider的服务端和管理端的代码分开的

看location / { 和 location /api/ { 可以知道

如果是你们使用,一般2个是合并的,如下

server {
  server_name spider.pastecode.cn;
  #charset koi8-r;
  #access_log  logs/pastecode.access.log main;

  location /statushub {
    proxy_pass http://127.0.0.1:8006;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
  }

  location / {
    proxy_pass http://127.0.0.1:8006/;
    proxy_set_header Host "$server_addr:$server_port";
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header referer "$server_addr:$server_port";
    proxy_http_version 1.1;
    client_max_body_size 20M;
    client_body_buffer_size 20M;
    proxy_set_header Connection "Keep-Alive";
    proxy_connect_timeout 600;
    proxy_send_timeout 600;
    proxy_read_timeout 600;
  }

  #location ~/web/(.*)$ {
  #        root /web/;
  #        error_page 404 https://www.abc.com/$1;
  #}
  error_page 404 /404.html;
  listen 443 ssl; # managed by Certbot
  ssl_certificate /etc/letsencrypt/live/spider.pastecode.cn/fullchain.pem; # managed by Certbot
  ssl_certificate_key /etc/letsencrypt/live/spider.pastecode.cn/privkey.pem; # managed by Certbot
  include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
  ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}
server {
  if ($host = spider.pastecode.cn) {
    return 301 https://$host$request_uri;
  } # managed by Certbot
  listen 80;
  server_name spider.pastecode.cn pastespider.pastecode.cn;
  return 404; # managed by Certbot
}


在上面中我使用的是let`s encrypt 的证书模式,3个月过期,快到期的时候会自动续期,非常好用!

评论列表
尘埃
176 3006 0
快捷注册
用户问答更多
PasteForm,神奇了啊!都说低代码,低代码,那个是对于非开发者来说的,感觉PasteForm就是开发者的低代码啊!只要配置好Model,就有对应的CRUD操作,还带一些逻辑,和生成代码是两码事了!!!问题来了,有什么局限性,或者适用哪些场景?
07月份版本的内存占用比以前大了,也没有泄漏,啥情况?以前200MB,这个版本能到300MB
文档中的组织归属有些问题,啥时候看看,更新更新!
  • 已经升级了,主要是left join的查询的时候没有过滤,其实这个问题,多租户也是一样的!

最新动态
  • 216.****.167 正在查看 文章列表页 !
  • 216.****.167 正在查看 文章列表页 !
  • 52.****.229 正在查看 PasteTemplate和PasteBuilder的使用教程 !
  • 216.****.167 正在查看 文章列表页 !
  • 216.****.167 正在查看 文章列表页 !
  • 216.****.167 正在查看 文章列表页 !
  • 216.****.167 正在查看 PasteForm字段的属性一览(持续升级) !
  • 216.****.167 正在查看 框架PasteForm实际开发案例,支持多级对象的表单看看有多简单只要几个特性即可!(1) !
  • 216.****.167 正在查看 贴代码框架PasteForm特性介绍之markdown和richtext !
  • 216.****.167 正在查看 贴代码框架PasteForm特性介绍之file特性(上传文件) !
  • 216.****.167 正在查看 使用ABP框架不得不留意的一个工具,PasteBuilder代码生成器使用介绍,特别适用于PasteForm框架 !
欢迎加入QQ讨论群 296245685 [PasteSpider]介绍 [PasteForm]介绍 @2022-2023 PasteCode.cn 版权所有 ICP证 闽ICP备2021013869号-2