轶哥博客

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

配置自动续期的免费通配符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,通常情况下不允许用户修改其值。

基于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
  上一页下一页