<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>1370740521 (戴先生)</title>
    <link>https://ruby-china.org/1370740521</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>当前项目 Passenger+Nginx 的模式部署，Passenger 采用的是免费版，最近想并发测试一下性能，Passenger 默认开启了 16 个进程处理请求，但是发现大部分时候只有第一个进程在处理了大量请求，其他进程都在闲置</title>
      <description>&lt;p&gt;最近针对项目并发测试，发现通过横向扩展服务器的方式已经无法增加系统的 TPS 了，目前购买的阿里云 ECS 为 16C32G 的配置，启动了 16 个 Passenger 进程来处理 HTTP 请求，但是通过并发压力测试时，passager 的进程只有几个在工作，大量的进程处理请求数为 0，想请教大佬们 Passenger 有没有配置能让 http 请求均匀分配到 Passenger 进程中处理的配置。&lt;/p&gt;

&lt;p&gt;目前项目采用的是 Nginx+Passenger，相关配置如下：&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/1370740521/aae36d67-6c3f-4388-b9ee-91a27d7d31df.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;之前 passenger_max_requests 写的是 2000，也是一样的现象（忘记截图了），passenger_max_requests 改成 20 后也是如下图所示，大部分 Passenger 在闲置不处理 http 请求，当我 passenger_max_requests 数字增大到 2000 时，我 http 请求会偶尔会卡，可能原因是当一个 Passenger 的第一个进程处理的 http 请求太多，会卡住：
&lt;img src="https://l.ruby-china.com/photo/1370740521/f78b3054-1c6f-4c91-9337-44c27a0c9eab.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;各位大佬之前有遇到过这个情况吗？&lt;/p&gt;</description>
      <author>1370740521</author>
      <pubDate>Tue, 01 Nov 2022 19:05:07 +0800</pubDate>
      <link>https://ruby-china.org/topics/42719</link>
      <guid>https://ruby-china.org/topics/42719</guid>
    </item>
    <item>
      <title>【长沙】湖南智擎科技有限公司招聘初级、中级、高级 Ruby On Rails 开发工程师</title>
      <description>&lt;h2 id="初级Ruby工程师"&gt;初级 Ruby 工程师&lt;/h2&gt;&lt;h3 id="职位描述："&gt;职位描述：&lt;/h3&gt;&lt;h5 id="负责产品后端的维护、测试和持续迭代"&gt;负责产品后端的维护、测试和持续迭代&lt;/h5&gt;&lt;h5 id="负责后端代码的重构和优化"&gt;负责后端代码的重构和优化&lt;/h5&gt;&lt;h5 id="与其它团队成员合作，共同完成项目"&gt;与其它团队成员合作，共同完成项目&lt;/h5&gt;&lt;h3 id="岗位需求："&gt;岗位需求：&lt;/h3&gt;&lt;h5 id="1、 计算机或相关专业，统招全日制本科及以上学历"&gt;1、计算机或相关专业，统招全日制本科及以上学历&lt;/h5&gt;&lt;h5 id="2、 熟悉 ruby、python、php、java等任意一门语言即可；"&gt;2、熟悉 ruby、python、php、java 等任意一门语言即可；&lt;/h5&gt;&lt;h5 id="3、了解 Web 前端和后端开发，了解MVC；"&gt;3、了解 Web 前端和后端开发，了解 MVC；&lt;/h5&gt;&lt;h5 id="4、 快速学习能力，良好的沟通、协作能力，责任心强；"&gt;4、快速学习能力，良好的沟通、协作能力，责任心强；&lt;/h5&gt;&lt;h5 id="5、 掌握至少一种关系型或者非关系型数据库；"&gt;5、掌握至少一种关系型或者非关系型数据库；&lt;/h5&gt;&lt;h2 id="中高级Ruby工程师"&gt;中高级 Ruby 工程师&lt;/h2&gt;&lt;h3 id="职位描述："&gt;职位描述：&lt;/h3&gt;&lt;h5 id="负责产品后端的维护、测试和持续迭代"&gt;负责产品后端的维护、测试和持续迭代&lt;/h5&gt;&lt;h5 id="负责后端代码的重构和优化"&gt;负责后端代码的重构和优化&lt;/h5&gt;&lt;h5 id="与其它团队成员合作，共同完成项目"&gt;与其它团队成员合作，共同完成项目&lt;/h5&gt;&lt;h3 id="岗位需求："&gt;岗位需求：&lt;/h3&gt;&lt;h5 id="1、 计算机或相关专业，统招全日制本科及以上学历；"&gt;1、计算机或相关专业，统招全日制本科及以上学历；&lt;/h5&gt;&lt;h5 id="2、Ruby On Rails 两年以上的开发经验，能独立开发中等规模 Web 应用；"&gt;2、Ruby On Rails 两年以上的开发经验，能独立开发中等规模 Web 应用；&lt;/h5&gt;&lt;h5 id="3、 熟悉 JavaScript，掌握 Bootstrap，Vue 或 React 等前端框架，HTML/CSS 扎实；"&gt;3、熟悉 JavaScript，掌握 Bootstrap，Vue 或 React 等前端框架，HTML/CSS 扎实；&lt;/h5&gt;&lt;h5 id="4、 熟悉常用的数据库，缓存技术，如 Mysql，Redis，MongoDB 等；"&gt;4、熟悉常用的数据库，缓存技术，如 Mysql，Redis，MongoDB 等；&lt;/h5&gt;&lt;h5 id="5、 良好的代码风格和编程习惯，熟练掌握 Git；"&gt;5、良好的代码风格和编程习惯，熟练掌握 Git；&lt;/h5&gt;&lt;h5 id="4、 有数据库日常设计开发以及优化经验（MySQL、PostgreSQL）;"&gt;4、有数据库日常设计开发以及优化经验（MySQL、PostgreSQL）;&lt;/h5&gt;&lt;h3 id="加分项："&gt;加分项：&lt;/h3&gt;&lt;h5 id="1、 熟悉 Docker、Kubernetes"&gt;1、熟悉 Docker、Kubernetes&lt;/h5&gt;&lt;h5 id="2、有个人技术博客或github内容较高。"&gt;2、有个人技术博客或 github 内容较高。&lt;/h5&gt;&lt;h5 id="3、熟悉Golang"&gt;3、熟悉 Golang&lt;/h5&gt;&lt;h5 id="4、熟悉Sidekiq、Elasticsearch"&gt;4、熟悉 Sidekiq、Elasticsearch&lt;/h5&gt;&lt;h5 id="5、有大型项目开发经验，尤其是高并发，借助内存存储优化并发性能的项目"&gt;5、有大型项目开发经验，尤其是高并发，借助内存存储优化并发性能的项目&lt;/h5&gt;&lt;h2 id="薪资待遇："&gt;薪资待遇：&lt;/h2&gt;&lt;h5 id="1、  初级工程师 8- 15K、 中高级工程师15K~25K"&gt;1、初级工程师 8- 15K、中高级工程师 15K~25K&lt;/h5&gt;&lt;h5 id="2、 五险一金加年终奖，工作满一年后有机会获得公司期权"&gt;2、五险一金加年终奖，工作满一年后有机会获得公司期权&lt;/h5&gt;&lt;h5 id="3、 Mac Pro + 双显办公"&gt;3、Mac Pro + 双显办公&lt;/h5&gt;&lt;h5 id="4、 8小时弹性工作，周末双休"&gt;4、8 小时弹性工作，周末双休&lt;/h5&gt;&lt;h5 id="5、 带薪年假，丰富团建活动"&gt;5、带薪年假，丰富团建活动&lt;/h5&gt;&lt;h2 id="其他"&gt;其他&lt;/h2&gt;&lt;h3 id="公司网站： https://www.educoder.net"&gt;公司网站： &lt;a href="https://www.educoder.net" rel="nofollow" target="_blank"&gt;https://www.educoder.net&lt;/a&gt;
&lt;/h3&gt;&lt;h3 id="办公地址：长沙中电软件园13栋"&gt;办公地址：长沙中电软件园 13 栋&lt;/h3&gt;&lt;h3 id="简历投递：:computer: 发送简历至: daiaobangong@126.com，注明来自 RubyChina"&gt;简历投递：&lt;img title=":computer:" alt="💻" src="https://twemoji.ruby-china.com/2/svg/1f4bb.svg" class="twemoji"&gt; 发送简历至：daiaobangong@126.com，注明来自 RubyChina&lt;/h3&gt;</description>
      <author>1370740521</author>
      <pubDate>Tue, 15 Mar 2022 16:18:22 +0800</pubDate>
      <link>https://ruby-china.org/topics/42219</link>
      <guid>https://ruby-china.org/topics/42219</guid>
    </item>
    <item>
      <title>项目在本地化部署后，甲方由于安全设置原因，需要把项目中使用的 DELETE 与 PUT 全部改成 POST 请求，有没有大佬做过相关的改写方案，不需要一个一个手动添加</title>
      <description>&lt;p&gt;项目在本地化部署后，甲方由于安全设置原因，需要把项目中使用的 DELETE 与 PUT 全部改成 POST 请求，有没有大佬做过相关的改写方案，不需要一个一个手动添加。&lt;/p&gt;

&lt;p&gt;目前我们的策略是通过控制台把 DELETE 与 PUT 请求通过 rails routes | grep PUT,DELETE 的方式全部找出来，然后由于同一个 controller 的 put 与 delete 如果同时改成 post 会重名，因此人工在路由后面加入的&lt;code&gt;url&lt;/code&gt;/put 代表 put 请求， &lt;code&gt;url&lt;/code&gt;/delete 代表 delete 请求的方式，这样处理太不优雅了，各位大佬有更好的处理方式？&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/1370740521/b9eac321-4ef5-4bb3-b6e2-aafce2ecda13.png!large" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>1370740521</author>
      <pubDate>Mon, 13 Dec 2021 15:25:15 +0800</pubDate>
      <link>https://ruby-china.org/topics/41976</link>
      <guid>https://ruby-china.org/topics/41976</guid>
    </item>
    <item>
      <title>【长沙】招聘 Ruby 开发工程师</title>
      <description>&lt;h2 id="初级Ruby工程师"&gt;初级 Ruby 工程师&lt;/h2&gt;&lt;h3 id="职位描述："&gt;职位描述：&lt;/h3&gt;&lt;h5 id="负责产品后端的维护、测试和持续迭代"&gt;负责产品后端的维护、测试和持续迭代&lt;/h5&gt;&lt;h5 id="负责后端代码的重构和优化"&gt;负责后端代码的重构和优化&lt;/h5&gt;&lt;h5 id="与其它团队成员合作，共同完成项目"&gt;与其它团队成员合作，共同完成项目&lt;/h5&gt;&lt;h3 id="岗位需求："&gt;岗位需求：&lt;/h3&gt;&lt;h5 id="1、 计算机或相关专业，统招全日制本科及以上学历"&gt;1、计算机或相关专业，统招全日制本科及以上学历&lt;/h5&gt;&lt;h5 id="2、 熟悉 ruby、python、php、java等任意一门语言即可；"&gt;2、熟悉 ruby、python、php、java 等任意一门语言即可；&lt;/h5&gt;&lt;h5 id="3、了解 Web 前端和后端开发，了解MVC；"&gt;3、了解 Web 前端和后端开发，了解 MVC；&lt;/h5&gt;&lt;h5 id="4、 快速学习能力，良好的沟通、协作能力，责任心强；"&gt;4、快速学习能力，良好的沟通、协作能力，责任心强；&lt;/h5&gt;&lt;h5 id="5、 掌握至少一种关系型或者非关系型数据库；"&gt;5、掌握至少一种关系型或者非关系型数据库；&lt;/h5&gt;&lt;h2 id="中高级Ruby工程师"&gt;中高级 Ruby 工程师&lt;/h2&gt;&lt;h3 id="职位描述："&gt;职位描述：&lt;/h3&gt;&lt;h5 id="负责产品后端的维护、测试和持续迭代"&gt;负责产品后端的维护、测试和持续迭代&lt;/h5&gt;&lt;h5 id="负责后端代码的重构和优化"&gt;负责后端代码的重构和优化&lt;/h5&gt;&lt;h5 id="与其它团队成员合作，共同完成项目"&gt;与其它团队成员合作，共同完成项目&lt;/h5&gt;&lt;h3 id="岗位需求："&gt;岗位需求：&lt;/h3&gt;&lt;h5 id="1、 计算机或相关专业，统招全日制本科及以上学历；"&gt;1、计算机或相关专业，统招全日制本科及以上学历；&lt;/h5&gt;&lt;h5 id="2、Ruby On Rails 两年以上的开发经验，能独立开发中等规模 Web 应用；"&gt;2、Ruby On Rails 两年以上的开发经验，能独立开发中等规模 Web 应用；&lt;/h5&gt;&lt;h5 id="3、 熟悉 JavaScript，掌握 Bootstrap，Vue 或 React 等前端框架，HTML/CSS 扎实；"&gt;3、熟悉 JavaScript，掌握 Bootstrap，Vue 或 React 等前端框架，HTML/CSS 扎实；&lt;/h5&gt;&lt;h5 id="4、 熟悉常用的数据库，缓存技术，如 Mysql，Redis，MongoDB 等；"&gt;4、熟悉常用的数据库，缓存技术，如 Mysql，Redis，MongoDB 等；&lt;/h5&gt;&lt;h5 id="5、 良好的代码风格和编程习惯，熟练掌握 Git；"&gt;5、良好的代码风格和编程习惯，熟练掌握 Git；&lt;/h5&gt;&lt;h5 id="4、 有数据库日常设计开发以及优化经验（MySQL、PostgreSQL）;"&gt;4、有数据库日常设计开发以及优化经验（MySQL、PostgreSQL）;&lt;/h5&gt;&lt;h3 id="加分项："&gt;加分项：&lt;/h3&gt;&lt;h5 id="1、 熟悉 Docker、Kubernetes"&gt;1、熟悉 Docker、Kubernetes&lt;/h5&gt;&lt;h5 id="2、有个人技术博客或github内容较高。"&gt;2、有个人技术博客或 github 内容较高。&lt;/h5&gt;&lt;h5 id="3、熟悉Golang"&gt;3、熟悉 Golang&lt;/h5&gt;&lt;h5 id="4、熟悉Sidekiq、Elasticsearch"&gt;4、熟悉 Sidekiq、Elasticsearch&lt;/h5&gt;&lt;h5 id="5、有大型项目开发经验，尤其是高并发，借助内存存储优化并发性能的项目"&gt;5、有大型项目开发经验，尤其是高并发，借助内存存储优化并发性能的项目&lt;/h5&gt;&lt;h2 id="薪资待遇："&gt;薪资待遇：&lt;/h2&gt;&lt;h5 id="1、  初级工程师 8- 15K、 中高级工程师15K~25K"&gt;1、初级工程师 8- 15K、中高级工程师 15K~25K&lt;/h5&gt;&lt;h5 id="2、 五险一金加年终奖，工作满一年后有机会获得公司期权"&gt;2、五险一金加年终奖，工作满一年后有机会获得公司期权&lt;/h5&gt;&lt;h5 id="3、 Mac Pro + 双显办公"&gt;3、Mac Pro + 双显办公&lt;/h5&gt;&lt;h5 id="4、 8小时弹性工作，周末双休"&gt;4、8 小时弹性工作，周末双休&lt;/h5&gt;&lt;h5 id="5、 带薪年假，丰富团建活动"&gt;5、带薪年假，丰富团建活动&lt;/h5&gt;&lt;h2 id="其他"&gt;其他&lt;/h2&gt;&lt;h3 id="公司网站： https://www.educoder.net"&gt;公司网站： &lt;a href="https://www.educoder.net" rel="nofollow" target="_blank"&gt;https://www.educoder.net&lt;/a&gt;
&lt;/h3&gt;&lt;h3 id="办公地址：长沙中电软件园13栋"&gt;办公地址：长沙中电软件园 13 栋&lt;/h3&gt;&lt;h3 id="简历投递：:computer: 发送简历至: daiaobangong@126.com，注明来自 RubyChina"&gt;简历投递：&lt;img title=":computer:" alt="💻" src="https://twemoji.ruby-china.com/2/svg/1f4bb.svg" class="twemoji"&gt; 发送简历至：daiaobangong@126.com，注明来自 RubyChina&lt;/h3&gt;</description>
      <author>1370740521</author>
      <pubDate>Tue, 16 Nov 2021 14:04:49 +0800</pubDate>
      <link>https://ruby-china.org/topics/41884</link>
      <guid>https://ruby-china.org/topics/41884</guid>
    </item>
    <item>
      <title>目前项目安装新的 gem 包后 bundle install 一直报错，“Could not verify the SSL certificate for https://gems.ruby-china.com/.”？</title>
      <description>&lt;p&gt;2021 年 9 月 30 号后，我在项目中添加新的 gemfile 后，然后本地 bundle install 都报错，在网上搜索很多也没看到相关修复的资料，希望各位知道解决的大佬帮忙看看。本地报错情况如下：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;The&lt;/span&gt; &lt;span class="n"&gt;dependency&lt;/span&gt; &lt;span class="n"&gt;tzinfo&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;will&lt;/span&gt; &lt;span class="n"&gt;be&lt;/span&gt; &lt;span class="n"&gt;unused&lt;/span&gt; &lt;span class="n"&gt;by&lt;/span&gt; &lt;span class="n"&gt;any&lt;/span&gt; &lt;span class="n"&gt;of&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;platforms&lt;/span&gt; &lt;span class="no"&gt;Bundler&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="n"&gt;installing&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="no"&gt;Bundler&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="n"&gt;installing&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;ruby&lt;/span&gt; &lt;span class="n"&gt;but&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;dependency&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="n"&gt;only&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;x86&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;mingw32&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;x86&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;mswin32&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;x64&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;mingw32&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;java&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="no"&gt;To&lt;/span&gt; &lt;span class="n"&gt;add&lt;/span&gt; &lt;span class="n"&gt;those&lt;/span&gt; &lt;span class="n"&gt;platforms&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;bundle&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;run&lt;/span&gt; &lt;span class="sb"&gt;`bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;
&lt;span class="no"&gt;Fetching&lt;/span&gt; &lt;span class="n"&gt;source&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt; &lt;span class="n"&gt;from&lt;/span&gt; &lt;span class="n"&gt;https&lt;/span&gt;&lt;span class="ss"&gt;:/&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;gems&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;ruby&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;china&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;com&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;

&lt;span class="no"&gt;Retrying&lt;/span&gt; &lt;span class="n"&gt;fetcher&lt;/span&gt; &lt;span class="n"&gt;due&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;error&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="no"&gt;Bundler&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Fetcher&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;CertificateFailureError&lt;/span&gt; &lt;span class="no"&gt;Could&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;verify&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="no"&gt;SSL&lt;/span&gt; &lt;span class="n"&gt;certificate&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;https&lt;/span&gt;&lt;span class="ss"&gt;:/&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;gems&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;ruby&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;china&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;com&lt;/span&gt;&lt;span class="o"&gt;/.&lt;/span&gt;
&lt;span class="no"&gt;There&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;chance&lt;/span&gt; &lt;span class="n"&gt;you&lt;/span&gt; &lt;span class="n"&gt;are&lt;/span&gt; &lt;span class="n"&gt;experiencing&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;man&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="k"&gt;in&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;the&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;middle&lt;/span&gt; &lt;span class="n"&gt;attack&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;but&lt;/span&gt; &lt;span class="n"&gt;most&lt;/span&gt; &lt;span class="n"&gt;likely&lt;/span&gt; &lt;span class="n"&gt;your&lt;/span&gt; &lt;span class="nb"&gt;system&lt;/span&gt; &lt;span class="n"&gt;doesn&lt;/span&gt;&lt;span class="s1"&gt;'t have the CA certificates needed for verification. For information about OpenSSL certificates, see http://bit.ly/ruby-ssl. To connect without using SSL, edit your Gemfile sources and change '&lt;/span&gt;&lt;span class="n"&gt;https&lt;/span&gt;&lt;span class="s1"&gt;' to '&lt;/span&gt;&lt;span class="n"&gt;http&lt;/span&gt;&lt;span class="s1"&gt;'.

Retrying fetcher due to error (3/4): Bundler::Fetcher::CertificateFailureError Could not verify the SSL certificate for https://gems.ruby-china.com/.
There is a chance you are experiencing a man-in-the-middle attack, but most likely your system doesn'&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt; &lt;span class="n"&gt;have&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="no"&gt;CA&lt;/span&gt; &lt;span class="n"&gt;certificates&lt;/span&gt; &lt;span class="n"&gt;needed&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;verification&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="no"&gt;For&lt;/span&gt; &lt;span class="n"&gt;information&lt;/span&gt; &lt;span class="n"&gt;about&lt;/span&gt; &lt;span class="no"&gt;OpenSSL&lt;/span&gt; &lt;span class="n"&gt;certificates&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;see&lt;/span&gt; &lt;span class="n"&gt;http&lt;/span&gt;&lt;span class="ss"&gt;:/&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;bit&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;ly&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;ruby&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ssl&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="no"&gt;To&lt;/span&gt; &lt;span class="n"&gt;connect&lt;/span&gt; &lt;span class="n"&gt;without&lt;/span&gt; &lt;span class="n"&gt;using&lt;/span&gt; &lt;span class="no"&gt;SSL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;edit&lt;/span&gt; &lt;span class="n"&gt;your&lt;/span&gt; &lt;span class="no"&gt;Gemfile&lt;/span&gt; &lt;span class="n"&gt;sources&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;change&lt;/span&gt; &lt;span class="s1"&gt;'https'&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="s1"&gt;'http'&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;

&lt;span class="no"&gt;Retrying&lt;/span&gt; &lt;span class="n"&gt;fetcher&lt;/span&gt; &lt;span class="n"&gt;due&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;error&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; &lt;span class="no"&gt;Bundler&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Fetcher&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;CertificateFailureError&lt;/span&gt; &lt;span class="no"&gt;Could&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;verify&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="no"&gt;SSL&lt;/span&gt; &lt;span class="n"&gt;certificate&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;https&lt;/span&gt;&lt;span class="ss"&gt;:/&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;gems&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;ruby&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;china&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;com&lt;/span&gt;&lt;span class="o"&gt;/.&lt;/span&gt;
&lt;span class="no"&gt;There&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;chance&lt;/span&gt; &lt;span class="n"&gt;you&lt;/span&gt; &lt;span class="n"&gt;are&lt;/span&gt; &lt;span class="n"&gt;experiencing&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;man&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="k"&gt;in&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;the&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;middle&lt;/span&gt; &lt;span class="n"&gt;attack&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;but&lt;/span&gt; &lt;span class="n"&gt;most&lt;/span&gt; &lt;span class="n"&gt;likely&lt;/span&gt; &lt;span class="n"&gt;your&lt;/span&gt; &lt;span class="nb"&gt;system&lt;/span&gt; &lt;span class="n"&gt;doesn&lt;/span&gt;&lt;span class="s1"&gt;'t have the CA certificates needed for verification. For information about OpenSSL certificates, see http://bit.ly/ruby-ssl. To connect without using SSL, edit your Gemfile sources and change '&lt;/span&gt;&lt;span class="n"&gt;https&lt;/span&gt;&lt;span class="s1"&gt;' to '&lt;/span&gt;&lt;span class="n"&gt;http&lt;/span&gt;&lt;span class="s1"&gt;'.

Could not verify the SSL certificate for https://gems.ruby-china.com/.
There is a chance you are experiencing a man-in-the-middle attack, but most likely your system doesn'&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt; &lt;span class="n"&gt;have&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="no"&gt;CA&lt;/span&gt; &lt;span class="n"&gt;certificates&lt;/span&gt; &lt;span class="n"&gt;needed&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;verification&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="no"&gt;For&lt;/span&gt; &lt;span class="n"&gt;information&lt;/span&gt; &lt;span class="n"&gt;about&lt;/span&gt; &lt;span class="no"&gt;OpenSSL&lt;/span&gt;
&lt;span class="n"&gt;certificates&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;see&lt;/span&gt; &lt;span class="n"&gt;http&lt;/span&gt;&lt;span class="ss"&gt;:/&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;bit&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;ly&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;ruby&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;ssl&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="no"&gt;To&lt;/span&gt; &lt;span class="n"&gt;connect&lt;/span&gt; &lt;span class="n"&gt;without&lt;/span&gt; &lt;span class="n"&gt;using&lt;/span&gt; &lt;span class="no"&gt;SSL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;edit&lt;/span&gt; &lt;span class="n"&gt;your&lt;/span&gt; &lt;span class="no"&gt;Gemfile&lt;/span&gt; &lt;span class="n"&gt;sources&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;change&lt;/span&gt; &lt;span class="s1"&gt;'https'&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="s1"&gt;'http'&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;我这边 Gemfile 代码如下：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;source&lt;/span&gt; &lt;span class="s1"&gt;'https://gems.ruby-china.com'&lt;/span&gt;
&lt;span class="n"&gt;git_source&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;:github&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;repo&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="s2"&gt;"https://github.com/&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;repo&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;.git"&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="n"&gt;ruby&lt;/span&gt; &lt;span class="s1"&gt;'2.3.7'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;</description>
      <author>1370740521</author>
      <pubDate>Fri, 08 Oct 2021 18:55:53 +0800</pubDate>
      <link>https://ruby-china.org/topics/41745</link>
      <guid>https://ruby-china.org/topics/41745</guid>
    </item>
  </channel>
</rss>
