轶哥博客

妄图改变世界的全栈程序员。

配置自动续期的免费通配符SSL证书

公益SSL证书机构Let’s Encrypt从2018-03-13起开始支持通配符证书。通配符证书必须通过DDNS添加TXT记录验证域名所属权。

  1. certbot官网安装certbot。

  2. 安装DNS插件

    cerbot支持很多DNS插件,例如:

     certbot-dns-cloudflare
     certbot-dns-cloudxns
     certbot-dns-digitalocean
     ...

    这里以DNSPOD(腾讯云域名默认DNS)为例:

     git clone https://github.com/tengattack/certbot-dns-dnspod
     cd certbot-dns-dnspod
     sudo python setup.py install
Nginx 解决API跨域问题

利用Nginx可以最简单且高效解决跨域问题。

跨域是前后端分离开发中非常常见的问题。这个问题网上已经有非常多的答案,但大部分是编程框架里面添加CORS头。但无论用什么Web框架,现已很难离开Nginx。因此直接在Nginx中处理跨域问题有得天独厚的优势,可以将OPTIONS请求拦截在API服务之前,节约服务器开销。

简单说,跨域分为简单跨域复杂跨域

简单跨域不会发送OPTIONS请求。

复杂跨域会发送一个预检查OPTIONS请求。

复杂跨域的条件是:

  1. 非GET、HEAD、POST请求。
  2. POST请求的Content-Type不是application/x-www-form-urlencoded, multipart/form-data, 或text/plain
  3. 添加了自定义header,例如Token

跨域请求浏览器会在Headers中添加Origin,通常情况下不允许用户修改其值。

Node.js 获取项目根目录

  介绍一个小技巧获取node.js项目根目录,这个技巧非常实用。

  假设我们的js文件写在server目录中,但是我们的资源文件存储在app/img目录中。如下图,我们需要在server/index.js文件中使用fs读取app/img/favicon.ico文件。

获取node项目根目录

  在node.js只提供了一个__dirname全局变量。通过__dirname可以获得“C:\wwwroot\yidata\server”。这时需要用到path。

小技巧解决Windows To Go新机驱动问题

  使用Windows To Go的体验比Ubuntu To Go要好得多。特别是加密U盘/移动硬盘的功能很实用。然而无论是Windows To Go还是Ubuntu To Go都无法避免在新机子中移动使用需要安装驱动的问题。欣慰的是在Windows To Go中微软专门针对移动使用定制了部分功能,然而还是无法完美安装所有驱动。特别是在某些win10平板中,几乎有数十个无法识别的驱动( 设备管理器中的感叹号)。怎么办呢?安装带网卡的驱动人生和驱动精灵?不,这个方法太Low了。

  对于高手,驱动缺失的第一个反应是去官网找驱动,搜芯片型号。然而很多驱动你根本找不出来,特别是定制性的。这些驱动有个特点,就是驱动人生和驱动精灵也无法识别。

  这里有一个小技巧,如果Windows To Go的目标主机和Windows To Go中安装的操作系统版本相近,位数相同,那么可以通过原有驱动直接安装。Windows10 To Go和Windows8 To Go均适用。

EA6500 V2/EA6700 散热改善,加装散热风扇

  EA6500 V2的CPU发热严重,最高温度可达104°(如上图)。别说煮鸡蛋了,烧水都没问题了。给EA6500 V2/EA6700加装风扇我不是第一个,网友“啥都不会”早在14年10月就已经成功安装过了。

  本文仅仅说明可以用5V风扇,而且可以控制是否启用。焊接点如下——USB电源接口。

基于Docker部署Node.js应用环境

  利用Docker部署的服务器环境已经成为目前主流。为了实现高负载、易于拓展,我们采用Nginx作为反代,Redis记录访问日志。(主机服务器环境:CentOS7.3,2017年05月02日19:57:08更新)

1、安装并启动Docker

1. 设置仓库

  在CentOS中设置Docker CE的仓库地址。

sudo yum install -y yum-utils

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

sudo yum makecache fast
  上一页下一页