• Feeds

  • 是时候支持HTTPS了:免费SSL证书letsencrypt配置教程

    今天抽空将 blog 增加了 HTTPS 支持,并停止了原来的 HTTP 服务。

    由于证书仅网站域名需要,因此使用了免费的 Let’s Encrypt 证书服务。

    根据维基百科的说明,Let’s Encrypt 是一个于2015年三季度推出的数字证书认证机构,将通过旨在消除当前手动创建和安装证书的复杂过程的自动化流程,为安全网站提供免费的SSL/TLS证书。Let’s Encrypt 是由互联网安全研究小组(ISRG,一个公益组织)提供的服务。主要赞助商包括电子前哨基金会,Mozilla 基金会,Akamai 以及思科。

    2015年12月3日,该服务进入公测阶段,正式面向公众。

    2016年4月12日,该项目正式离开Beta阶段。

    到2016年9月9日,Let’s Encrypt 已经发放 1000 万张证书。因此对于大部分中小型网站来说,是一个值得考虑的选择。

    letsencrypt

    HTTPS 启用及配置的主要步骤如下,假设你已经有一个正常运行的 HTTP 网站。

    1. 打开 https://certbot.eff.org/ 选择对应操作系统与 Web 服务器,选完后出现响应的平台说明。由于我的系统运行在 nginx 及 Ubuntu,选完之后出现的说明地址是 https://certbot.eff.org/#ubuntuxenial-nginx

    2. 执行命令,并根据需要修改相应域名参数。

    $ sudo apt-get install letsencrypt
    $ letsencrypt certonly --webroot -w /var/www/timyang.net -d timyang.net -d www.timyang.net
    

    3. 修改 nginx
    将 80 端口相关配置改成 443 端口,并增加相关配置

    # listen       80;
    listen 443 ssl;
    server_name timyang.net www.timyang.net;
    
    ssl_certificate /etc/letsencrypt/live/timyang.net/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/timyang.net/privkey.pem;
    

    再增加 80 端口自动跳转

    server {
        listen 80;
        server_name timyang.net www.timyang.net;
        return 301 https://$host$request_uri;
    }
    

    4. 重启 nginx,并用 chrome 访问,如果 URL 地址之前出现锁标记,则说明设置成功。
    如果页面中还包含有嵌入的 HTTP 元素,chrome 会仍然显示 i 标记,通过点击 i 之后的元素说明逐个修复即可。

    timyang-https

    另外注意 Let’s Encrypt 每次只有 90 天有效期,但可以通过脚本进行更新

    测试运行

    $ sudo letsencrypt renew --dry-run --agree-tos
    

    如果运行成功,建议将正式更新脚本加到 cron 脚本中,一劳永逸。

    $ sudo letsencrypt renew
    

    虽然 Let’s Encrypt 是一个免费的服务,但对 letsencrypt 使用感到满意的朋友,还可以去他们网站进行赞助。

    IT工程师的又一次春节感悟

    身在中国,生长的环境已经教导好了我们如何过一个正常的春节。

    举国同庆的仪式

    工作之后,回不回家则成了每年需要思考的问题。如果想过得轻松,离开父母去国外晒太阳发呆睡觉是一个不错的主意。但在这样一个举国团聚的日子,离开亲人远走毕竟会有一些愧疚感。

    要回老家,需要面临交通和礼物的问题,同时还需要考虑自身是否体面。在城里工作,生活未必光鲜;但如果要回家,大部分还是希望将自己过得好的一面展示,比如用的手机、开的车、穿的衣服等。工程师群体一个冬天没添置新衣服并不罕见,但如果过年回家还是穿着去年爬山买的冲锋衣,会给细心的家里人增加不必要的担忧。

    带什么礼品也是个发愁的问题,上一年带的礼品父母可能还收藏在老家未开封。送自己父母有时候挑了一些不实用的东西就算了,但如果去看岳父岳母(或未来的)就得多掂量一下。

    按照传统的习俗,过年从腊月二十左右就开始了,在外地工作人群陆续返乡,经过了小年的酝酿、伴随着爆竹及烟花声,在除夕夜进入高潮。到正月份开始走亲访友,包括要拜访一些平时并没有热情及兴趣访问的亲戚,对于一些节奏慢的,直至过了元宵节春节才算结束。

    春联大多是在年货市场买的,尽管上一辈少部分人还有自己编对联的经历,但到了这一代,除了少部分人有学校练过毛笔字的经历,大部分人都不会再有手写春联的兴趣及能力了。买来春联的横幅大多是一帆风顺或出入平安之类比较俗的文字,但也没人去琢磨更雅的文字,春联只是一个过年的象征,虽然贴在每天出入的大门口,但没什么人关注上面具体的内容。

    在外工作的人过年回家,如果生活在大家族里面,红包是一笔不小的开支。除了给现金之外,现在还流行网上派红包,几百元甚至几千发下去,冒个泡就没了。当然也有更多的群体是抢红包一族,以至于回到家里吃年夜饭,也逐渐出现了城里面吃饭聚会的场面,大家都在盯着手机抢红包。

    「小道消息」最近的的「猴年春晚的蝴蝶效应」中提到

    1) 今年刚毕业的小李在春节这天摇了 328 次微信,打开了 523 次支付宝,最后红包总计收入 13.50 元,前后四个小时什么都没干。

    2) 经此猴年春晚一役,中国有数千万青年一夜之间手臂变粗,并有数百万人练就「金手指」绝技,驰名日本的加藤鹰先生从此失业。

    3) 某公司美女财务年终业绩考评不佳,奖金少发了一个月。春节这天,她潜伏在公司数百个群里,一天不吃不喝抢红包赚到 9300 元,出了一口恶气。节后,她成功转岗,任职手机 App 测试工程师。

    大部分在外地工作的人的问题在于,一年其他时间并不会有机会抽出时间看望父母,因此回家探亲的义务都积攒到春节了。如果大家在一年之中对于亲情有更多看望及表达,则可以不需要凑在这几天。

    一件事情应该尽量避免走到这样一个阶段,大家(比如父母以及另一半)都觉得需要这种仪式,每个人都觉得为了其他人在进行某项仪式,但是可能每个人自己都不喜欢及享受这种仪式。

    无所事事的时间

    尽管大部分人在春节这段时间无所事事,但也有不循规蹈矩的,李笑来 2015 年 12 月写的「什么是践行」一文中提到自己在以往春节完成的工作

    《托福核心词汇 21 天突破》最后的突击成稿,就是在 2003 年的春节完成的。《把时间当做朋友》最初一搞,还叫《管理我的时间》的时候,是 2007 年春节……

    2008 年年初,我和朋友合伙开了个留学咨询公司,在数码大厦租了个办公室,交完房租,就是装修,花不了几个钱。装修差不多了,就春节了。于是大家都去过年。等他们回来的时候,我已经在这期间接了几个客户,讲了一小期班,收上来的钱已经使得公司产生了盈利。

    2010 年春节,一口气在两周内整理完《人人都能用英语》,以及《把时间当作朋友》的修订……
    《人人都能用英语》现在在这里:http://zhibimo.com/books/xiaolai/everyone-can-use-english
    《把时间当作朋友》(第三版)在这里:http://zhibimo.com/books/xiaolai/ba-shi-jian-dang-zuo-peng-you

    2013 年年初,我和两个小伙伴组建了 Knewone,网站上线后没多久,就是春节。他们俩一个去了香港,一个去了柬埔寨,度假。我在家里充当客服…… >等两个小伙伴回来,网站的流量已经冲进 Alexa 全球排名 5 万以内了。

    大部分人在春节假期浪费的时间至少有 2 周以上,这里说的浪费是指时间消耗在一些无谓的琐事上,而不是真正的度假或休息,比如游泳晒太阳算不上浪费。工作通常在放假前 1~2 周就停了;放假后恢复到正常工作状态通常还需要额外几天时间。因此这段时间大部分精力放在准备衣服、年货、交通、例行公事的拜访。如果你是一家之主,你可能还需要投入更多精力张罗招待客人。

    大部分人对这段时间的浪费见怪不怪,某种程度已经习惯了这段时间无所事事。上面一文中还提到

    可实际上,我并不讨厌给自己放假的啊。只不过,我觉得“法定”这事儿对我来说没意义,那所谓的“法定”是制约企业的,又不是制约我个人的。我什么时候该休息,应该是我说了算啊。手里本来有要做的事儿,结果可倒好,法定要求休息,我就休息了,那手里的事儿怎么办?在不得不与他人协同的时候,法定假日更是气人,活生生把很多事儿给搅黄,且每个人都不在乎 —— 他们说他们有他们自己的生活。

    由于整个国家都在大迁徙,长途交通除了体验糟糕之外,时间上往往比平时多出更多时间。火车票一票难求,高速公路变成了停车场。还有些为了节约过路费,放假前夕在高速路口等候零点免费放行的人群。

    因此如果按照正常的方式来过春节,假期并不能得到足够的休息。我们忙于完成春节的程序及仪式。

    想充分利用时间的工程师,也计划看点书、写点东西,然而时间都被饭局、牌桌以及应酬不同的人群打断。想交流思想或者行业话题也找不到人。因此结果往往是,准备的书本没怎么看,准备写的东西没有写。

    很多家里面人多比如有小孩及父母在一起的深有体会,平时想在家里面做点事情尚不容易,就不要说逢年过节了。

    2016 年特别不凑巧,大家正准备收紧心思上班的时候,又碰到情人节,IT 工程师还没上班又在思考如何有特色的度过情人节吧?

    观念的冲突

    春节期间如果大部分时间在跟亲人在一起,对于大部分年轻人,首先碰到择偶观点的冲突。

    关于择偶条件,今年春节让大家印象深刻的,莫过于从江西匆忙逃走的上海姑娘和那一桌饭菜的照片了。在陈岚另外一篇相似经历的文章「上海姑娘,不是逃饭,是逃命」中提到。

    “我反复在心里犯拧的,是那一桌子,明晃晃亮灿灿的——不锈钢餐盘。”

    从小到大,她没有使过这样的器皿。

    她从小的餐饮习惯也并不讲究到色香味形器诸色具精。只是喝碧螺春使白瓷,为的取其色悦,喝明前龙井使一只透明玻璃厚矮杯,为观其形逸,喝普洱使一只粗陶杯,喝红茶要么是英国瓷器,要么是紫砂,这在她家,并不刻意,是一种至少已经延续了三代、而且已经无感了的生活习惯。

    无论如何,那一桌子不锈钢餐具,在她来看,非常有损食相。扎眼地难受。金属撞击声更让她反胃。那些筷头己发黑的筷子,她尽快忽略,礼貌地吃完整顿饭。毫不失礼。是因为确实相爱。

    但从这顿饭开始,她开始参悟,参悟彼此那些总会引起磕碰的差异的根源。

    择偶是不同人群观念冲突的集中表现。这时候,背景及家庭条件的差异、文化的差异、阅历的差异在这里体现得淋漓尽致。虽然大部分年轻人并不能理解上面文字体现出的家庭环境带来的文化差异。

    除了择偶的问题,工作等价值观的问题会经常碰撞,IT工程师除了要解释自己工作的性质之外,还需要面临隔壁家二狗上学成绩不如自己却比现在比自己有钱的事实,再加上职场上的成长需要厚积薄发,一年过去并不意味有显著的变化,因此回家的工程师往往有意回避谈论具体工作问题。

    同学聚会是另外一个主题,一个方面,当年的发小都希望有更多机会再回首聚一下,一起感概青春的年华与岁月的流逝;但另外一个层面,常年不在一起,彼此观念差异往往比意想的更大。如果避免让对方惊诧你竟然成为脑残或愤青时,尽量避免将话题引向一些社会深层次问题。组织方也最好事先确定活动费用支付方式问题。

    春节时环境和习惯的力量促使我们每个人按照既定的程序前行,大的环境无法改变,但是可以改变自己的生活方式。是时候思考下当下习惯的合理性。

    大约从 1986 年开始,我很讨厌过春节,很朴素的原因,就是觉得真浪费时间啊…… 那个时候,罗永浩就表示很不理解,奇怪我为什么一到过年的时候,就找个宾馆躲进去 —— 这真是个怪人!

    工程师如何规划新的一年计划

    最近碰到了一个创业失败的朋友,由于资金紧张,暂时没有合适的事情可做,只好靠开滴滴度日。问了他下一步的打算,他说有个传统企业的老板想转型互联网+,也很有兴趣跟他合作,未来打算将自己的重点放在这方面。

    “但是他也可能三年都不会有所动作,将自己主要计划放在这方面会不会太被动了一点?” 我提醒他。

    很多时候,我们面临 hard 模式和 easy 模式选择的时候,大部分人会下意识的选择 easy 模式,即使在 easy 模式不自主可控的情况下。人们容易对未来的计划抱有侥幸心理,相信美好的事情必会发生。

    年轻的时候也存在类似的幻想,每当做 new year resolution 时候,把自己那些可能潜在希望发生的事情盘点了一遍,放进了自己新年前三的计划列表之中,但半年过去后,那些抱有很大希望的事情并没有发生。回过头细想,有些是期望机会从天而降;有些可能是合作对象随口一说,在对方眼里,也是极低优先级,这样的话没什么进展就很自然了。

    在职场当中,大家也通常有类似的想法,在新的一年,自我感觉过去表现不错,等待上司给自己更重要的担子;或者自我感觉优秀,等待伯乐给自己做千里马的机会。怀有这样的想法无可厚非,但是如果将自己大部分未来押注在这些期望上面,则成长与未来很难掌控。

    至少要将大部分计划投入在自己可以掌控的方向,尤其是在学习及自我提升方面,这样在最坏的情况下也会有所收获。即使那些成长快的人,也只是极少部分时间碰上好运,大部分时间需要靠主动去规划自己的时间来掌控未来。

    law1

    相关阅读

    王渊命老师讨论此话题时推荐了一本书读《程序员的思维修炼》

    前年看的一本书,今年才有体会,逐渐落到了实处:程序员的思维修炼。
    制定学习计划应该也用 SMART 方法:具体的(Specific),可度量的(Measurable),可实现的(Attainable),相关的(Relevant),时间可控的(Time-bound)。

    123...Last