Ruby China
  • Topics
  • 招聘
  • Wiki
  • 酷站
  • Gems
  • Sign Up
  • Sign In
关于
@dggy
Member
NO. 34744 / 2018-04-01

[email protected]
上海
13 Topics / 68 Replies
5 Followers
0 Following
2 Favorites
GitHub Public Repos
  • kuaizi 4

  • tttt 1

  • ccz 1

  • wx-ajax-promise 1

    微信小程序中的 promise 封装的 ajax

  • chopstick-simple-session 0

  • speakhard 0

  • swch 0

  • mp-node-util 0

  • mp-util 0

    微信小程序工具库(函数式编程)

  • js-knife 0

More on GitHub
  • Overview
  • Topics
  • Replies
  • Favorites
  • Following
  • Followers
  • 企业应用中,在外网不通的情况下,如何使用 https? at January 28, 2021

    外网不通(不可以上百度、淘宝等)的情况下,可以吗

  • 有哪些过节和家人一起看的电影? at January 27, 2021

    如果是长辈,那就看长辈的口味了,很难说
    但如果和一群小孩子,或大家年龄都不大,可以看些有意思的动画片:

    • 马达加斯加的企鹅
    • 神偷奶爸(三部,外加小黄人)
    • 疯狂原始人(两部)
    • 欢乐好声音(唱歌,很 high)
    • 机器人总动员(温情)
  • 企业应用中,在外网不通的情况下,如何使用 https? at January 26, 2021

    嘿嘿,共勉

  • 企业应用中,在外网不通的情况下,如何使用 https? at January 25, 2021

    搞了几天,终于搞好了,记一下笔记

    之前

    先准备一个干净的 nginx,最好新装一个,然后搭建一个 http 服务器(以 ubuntu 为例):

    安装 nginx
    sudo apt install nginx
    

    安装好后,会自动启动
    访问localhost检查一下,如果不成功的话,看看 80 端口是否被占用
    检查好后,在命令行启动 nginx

    sudo nginx
    

    nginx 的日志读写需要 sudo 权限

    之后再检查一下是否启动成功

    重新配置 nginx

    nginx 的配置文件里(在/etc/nginx/nginx.conf目录下),有很多内容
    我想,很少有人能认全,多余的配置只会产生迷惑,先全删掉
    填入以下内容:

    user root; # 以 root 用户启动 nginx
    events {}
    
    http {
      server {
        root /home/gy/static; # http 服务器的跟路径设为 /home/gy/static
      }
    }
    

    然后,让 nginx 重新加载配置:

    sudo nginx -s reload
    

    然后,随便在根目录下(也就是本例的 /home/gy/static)造个文件
    比如 index.css,里面随便写一些东西
    再访问localhost/index.css,如果成功了,说明以上配置没问题,一个新的 nginx 装好了

    openssl

    这个工具是主角,确保它已经安装,并且版本在 1.1.0 以上:

    openssl version
    

    版本老的话,就删了:

    sudo apt remove openssl
    

    安装:

    sudo apt install openssl
    

    准备工作完成

    签 https 到 ip

    配置 openssl

    先对配置文件做一些修改,位置:/etc/ssl/openssl.cnf

    1. req_extensions
      在 [ req ] 模块,添加req_extensions = v3_req 默认应该是有的,只需要解除注释

    2. req_distinguished_name 确保 [ req_distinguished_name ] 模块下没有 0.xxx 如果有,删除 0.(所有)
      比如:0.organizationName = Organization Name (eg, company) 改成:organizationName = Organization Name (eg, company)

    3. alt_names [ v3_req ] 模块下添加:subjectAltName=@alt_names 再在最后添加新的 [ alt_names ] 模块:

      [ alt_names ]
      IP.1 = 192.168.100.100
      

      [ ip ] 别忘换成你自己的服务器的 ip

    准备一个目录

    在任意位置,准备一个目录,放你的证书、密钥等文件,比如/home/gy/ssl.
    然后,需要下面的目录和文件:

    mkdir -p demoCA/newcerts
    touch ./demoCA/index.txt ./demoCA/serial
    echo "01">> ./demoCA/serial
    
    生成证书、密钥

    切换到/home/gy/ssl目录

    下面有要求输入信息的,按实际输入即可 需要特别注意的是,有一项是 common name,那里必须输入服务器的 ip 地址

    1. 生成机构密钥 bash openssl genrsa -out ca.key 2048
    2. 生成机构证书 bash openssl req -new -x509 -days 3650 -key ca.key -out ca.crt -config /etc/ssl/openssl.cnf
    3. 生成服务器密钥 bash openssl genrsa -out server.key 2048
    4. 生成服务器证书 bash openssl req -new -out server.csr -key server.key -config /etc/ssl/openssl.cnf
    5. 机构签署证书 bash openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -extensions v3_req -config /etc/ssl/openssl.cnf

    其中有要求输入信息的,按实际输入即可 需要特别注意的是,有一项是 common name,那里必须输入服务器的 ip 地址

    之后

    证书生成好了,把证书发给客户端和服务器

    服务端

    修改 nginx 的配置文件:/etc/nginx/nginx.conf,修改好后:

    user root;
    events {
    }
    
    http {
      server {
        listen 443 ssl;
        ssl_certificate /home/gy/ssl/server.crt;
        ssl_certificate_key /home/gy/ssl/server.key;
    
        root /home/gy/static;
      }
    }
    

    重新加载 nginx 配置:

    sudo nginx -s reload
    
    客户端

    用 u 盘或某种工具,把上一步生成的ca.crt文件搞到客户端电脑,双击即可安装
    step1 step2 step3

    step4 重启 浏览器

    完成

    缺陷及解决

    服务器 ip 变化
    • 方案一:重新生成证书,交给服务器、交给客户端
    • 方案二:绑定域名
    绑定域名的两种方式
    • host 文件(每个客户端都要修改,部署较麻烦)
    • dns

    原文链接

  • rubyinstaller.cn 正式运行,感谢上海交通大学镜像服务 at January 22, 2021

    太快了!

  • 给 Ruby Koans 做了个注释,欢迎新人一起学习~ at January 20, 2021

    100% ~

  • 给 Ruby Koans 做了个注释,欢迎新人一起学习~ at January 15, 2021

    em,,,,,如果有时间的话😂

  • 给 Ruby Koans 做了个注释,欢迎新人一起学习~ at January 15, 2021

    完成度:147/281 (52%)

  • 用 Ruby Koans 学习 Ruby,其中一道题,到 stackoverflow 上一看,高下立判啊! at January 14, 2021

    优雅不仅仅在于代码量的多少,另一个重要因素是可读
    个人认为,在重要性方面,可读性 > 代码少

  • Vue 的思路如同尿路,根本不符合程序员思维。 at January 08, 2021

    我发现这人就会喷

  • 很想做 Ruby,但起步为什么这么困难,是我的方式不对吗 at December 23, 2020

    如果大家希望更多的朋友加入 ruby
    那么请不要刻意隐藏 ruby 的缺点
    那只会挫伤新朋友的积极性
    我想,“ruby 环境搭建比较麻烦,搭建好了,就好了”
    这才是对新朋友最好的提醒,对 ruby 最负责的评价

    毕竟,rails 是一把锋利的刀子,ruby 也是
    不会像其他语言过于求稳
    进步与革新,是一定要付出代价的
    这代价不需要你为 ruby 隐藏,你也隐藏不了

  • 很想做 Ruby,但起步为什么这么困难,是我的方式不对吗 at December 23, 2020

    诸位,ruby 在安装时,体验不太好,是缺点
    任何东西都有缺点,ruby 有缺点很正常
    即使有缺点,我们依然可以喜欢它
    承认缺点 != ruby 不好
    楼上诸位的几句话,似乎不愿意承认“ruby 安装体验不好”,那只会蒙蔽自己的双眼

  • 很想做 Ruby,但起步为什么这么困难,是我的方式不对吗 at December 23, 2020

    做开发也有年头了,语言学习的也不少,如果说安装 runtime,最费劲的,的确是 ruby
    如果你不觉得,那我要怀疑你是否真的试过其他语言了
    npm install 我还真没遇到过几次安装失败的

  • 很想做 Ruby,但起步为什么这么困难,是我的方式不对吗 at December 23, 2020

    科学上网,有
    语言,阅读原文文档没压力
    但是不知道你说这两点什么意思
    另外,mac 最佳实践,您太片面了

  • 很想做 Ruby,但起步为什么这么困难,是我的方式不对吗 at December 21, 2020

    这不是一个抱怨贴,只是想知道是我做得不对,还是 ruby 的生态不太好 另外,即使 ruby 的生态不好,我也还是很喜欢 ruby 的

  • 很想做 Ruby,但起步为什么这么困难,是我的方式不对吗 at December 21, 2020

    感谢以上各位,周末回老家有事,没及时回复各位 不管怎么说,现在还是装好 rails 了 总结一下这个贴:

    • windows 还是不能用
    • 换源不一定好用
    • 科学上网也不一定好用

    => 需要经验

    希望各位越来越好吧~

  • 很想做 Ruby,但起步为什么这么困难,是我的方式不对吗 at December 18, 2020

    感谢指教 正在下载了

  • 很想做 Ruby,但起步为什么这么困难,是我的方式不对吗 at December 18, 2020

    我是觉得 ruby 的生态,感觉不太好,装依赖就这么困难了

  • 很想做 Ruby,但起步为什么这么困难,是我的方式不对吗 at December 18, 2020

    感谢指教
    ruby,已经学习了好长时间了,但是手头也没什么项目,就想着学学 rails

  • 很想做 Ruby,但起步为什么这么困难,是我的方式不对吗 at December 18, 2020

    感谢指教
    但我不是卡在代码的问题上啊😂 ,是安装 ruby、安装 rails、创建项目时,遇到这些闹心的问题,源我是换过的。

  • 论坛里面杠精很多,有没有人有同感? at May 05, 2018

    em?图在……?这是一个梗?

  • 求推荐用 rails 做后端 api 开发的教程 at May 05, 2018

    感谢!感谢!

  • 求推荐用 rails 做后端 api 开发的教程 at May 04, 2018

    感谢!这就是我要的!

  • 求推荐用 rails 做后端 api 开发的教程 at May 04, 2018

    e,其实和 rails 比较,我更熟悉前端,我只是想把耦合性降低,这样,在各终端都用同一套 api

  • 求推荐用 rails 做后端 api 开发的教程 at May 03, 2018

    感谢!

  • 最近在看 rails 信条,感觉原文和翻译都很怪 at April 27, 2018

    感谢!感谢!

  • 最近在看 rails 信条,感觉原文和翻译都很怪 at April 27, 2018

    我是铁头娃哈哈啊哈

  • 方法中有块,块中有 break 和 next,这种情况应该怎么理解? at April 15, 2018

    不知你说的哪种情况,可以放下代码吗?

    def total (from , to)
        result=0
        from.upto(to) do |num|
            result+=yield(num)
        puts num # =>1, 2 ,3, 4  后面直接是下面的  1  了
        end
        return result
    end
    
    n=total(1,10) do|num|
        if num==5
            break 1 
        end
        num
    end
    p n # => 1
    
  • 方法中有块,块中有 break 和 next,这种情况应该怎么理解? at April 15, 2018

    是的大佬,加 return 确实会报错(unexpected return (LocalJumpError)) 加上了高亮了!大佬,之前不知道还有高亮这一说。

  • 方法中有块,块中有 break 和 next,这种情况应该怎么理解? at April 14, 2018

    感谢 ……没明白,那上面的代码为什么会输出 1,而不是 11?

  • Prev
  • 1
  • 2
  • 3
  • Next
关于 / RubyConf / Ruby 镜像 / RubyGems 镜像 / 活跃会员 / 组织 / API / 贡献者
由众多爱好者共同维护的 Ruby 中文社区,本站使用 Homeland 构建,并采用 Docker 部署。
服务器由 赞助 CDN 由 赞助
iOS 客户端 / Android 客户端 简体中文 / English