80 端口被强制转换到 443
和这个没有关系
估计是没有设置
location ^~ /.well-known/acme-challenge/ {
default_type "text/plain";
}
@lijy91 API 设计阶段,RAML 比 Swagger 要好
or 的写法一直用 arel
用过 openresty ,快,但是稍微复杂点的逻辑写起来就很繁琐了。 从全栈角度看 Rails 优势还是很大,毕竟周边库那么多 非全栈的话每个语言、框架都有各自的优势,没有可比性
按 微服务 那书上的说的,优先用 RESTful
可以考虑使用 https://github.com/openresty/lua-nginx-module#ngxlocationcapture_multi 减少客户端的请求,然后结合 http 的 cache 来减少 api gateway 对各 microservice 的请求
@psvr 定制后和社区脱节这个确实是个问题,综合来看还是对 rugged 修改比较靠谱。
@yakjuly +1
个人也认为应用层修改比较简单,具体想法如下:
每个组织分配一台机器 然后所有非组织用户分配一台机器
上述所有机器上都独立部署 gitlab(nginx、unicorn、sidekiq【redis 使用 127.0.0.1】),共用一个 RDS
所有机器修改 /etc/ssh/sshd_config AuthorizedKeysCommand 指定脚本,脚本发送 http 请求到上述机器中的某一台机器判断 ssh 请求是否合法,禁用所有机器的 /home/gitlab/.ssh/authorized_keys ,这个步骤是为了解决【必须在 rails 中将通过网页添加的 SSH 密钥广播给集群内的所有机器】这个问题
最后结合上面说的 VIPServer 统一 http ssh 访问地址
@psvr 这样呢?
ssh -R 开启 socket proxy privoxy 转 socket proxy 到 http proxy proxychain 命令行程序使用代理
@huacnlee 不推荐改 $rvm_path/config/db ,rvm 提供了 $rvm_path/user/db ,ref https://rvm.io/rvm/configuration
用 monit 就够了,而且 https://github.com/seuros/capistrano-sidekiq#usage 本身就提供了支持
systemd 是王道,upstart 是要被淘汰的东西。
如果要提供批量 API 接口,那么就不要用 POST /api/books ,写个 POST /api/books/batch 也行。
request body { "books" =>[{ "name" => "aaa", "author" => "bbb" }, { "name" => "ccc", "author" => "ddd" }] }
,接口内使用事务,要么全部成功,要么全部失败这样处理起来比较好,好像没有见过返回成功几个失败几个的接口。
sed & awk
sidekiq + sidekiq-limit_fetch ,用一个线程去发请求,加个 sleep 1 就差不多了
要我,我会去 nginx 中加个 location
我觉得这种单独 OSS 的 gem 不好,哪天又来个 ECS 的,很多重复的东西啊。
举例:https://github.com/aws/aws-sdk-ruby 和 https://github.com/marcel/aws-s3 你选哪个?
@mumu https://ruby-china.org/topics/27594#reply6
拼 request post xml,然后用 http client 发送,得到 response 后用 savon 解析