通过apache2代理+Let’s Encrypt实现网站https与wss

一、现实需求

为了能够提供安全的互联网服务,各大浏览器厂商(chrome、fixfox等)都在倡导SSL的应用,Let`s Encrypt应运而生。它是国内外主流浏览器都认可的免费SSL证书,并提供了配套工具,大大方便了证书的申请与部署(工具地址:https://certbot.eff.org/#ubuntutrusty-apache)。

而且,随着html5技术的普及,通过页面调用本地硬件设备(摄像头、耳麦等)的应用越来越来。但浏览器厂商的安全机制,均需要配置SSL的网站才可以调用本地设备。

本文的主要内容分为两部分,一部分是传统http网站升级为https网站;另一部分是复杂部署环境下,需要通过apache的代理与SSL相结合的部署解决方案

以下案例均取材与ubuntu 14/16操作系统下,apache2作为web服务器的配置。

二、配置普通的http网站

1.域名的前期准备

工作开始前,请先注册一个域名,并备案(使用香港或国外服务器的,不用域名备案)。然后把域名解析到目标服务器的公网IP(关于域名解析,网上资料已经很多了,不再多说)。

此文使用的示例域名:lidetao.com

2.安装apache并启用相关模块

通过SSH登录目标服务器,建议先更新下系统库:

sudo apt update
sudo apt dist-upgrade
sudo apt autoremove (卸载过时或者没有被依赖的软件,避免boot满了)

安装apache

sudo apt install apache2

安装需要的模块

cd /etc/apache2/mods-available/

a2enmod rewrite
a2enmod ssl
a2enmode proxy*  (这里把代理相关的模块都安装了,建议根据实际需要有选择的安装)

3.配置域名的绑定

3.1创建文件

cd /var/www

创建域名绑定的文件夹
mkdir lidetao.com

创建一个默认的首页
cd lidetao.com
vim index.html (写入hello world,然后保存)

3.2设置配置

cd /etc/apache2/sites-enabled

vim lidetao.com.conf 内容如下:

<VirtualHost *:80>
    ServerAdmin webmaster@lidetao.com
    DocumentRoot "/var/www/lidetao.com"
    ServerName lidetao.com
    ServerAlias www.lidetao.com

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

3.3启动服务

service apache2 restart

然后访问http://lidetao.com,页面上展示“hello world” 继续阅读通过apache2代理+Let’s Encrypt实现网站https与wss

ssh+proxychains实现linux服务器的代理翻墙

一、需求

开发环境或者生产环境下,linux系统需要翻墙后,在线加载某些模块。当然,很多情况下是可以通过比较麻烦的离线安装实现。

但也有些情况下需要在线安装,特别是谷歌系的技术与产品。在工作中,遇到了go语言模块安装(当时是从github上获取源代码。离线安装的。但如果在线安装应该更简单些)与apprtc初始化环境需要谷歌云基础组件(只得通过翻墙进行验证)。

本文通过linux的ssh+proxychains代理软件,实现了服务器的全局代理翻墙。当然需要有个香港或者国外的linux服务器作为remoteIP。

二、代理配置

1.配置ssh代理端口

ssh -f2NCq -c blowfish -o ServerAliveInterval=60 -D 7070 username@remoteIP

注意:本地开一个SOCKS5代理,端口7070,后台(f),2版协议,不执行远程命令(N),压缩(C),安静模式(q),blowfish加密方法(c,快速),保持连接(o,60秒一次心跳)

加密算法参数可以不要,可以只有D参数

执行此命令后,需要输入远程linux服务器的ssh登录密码。然后执行下面命令,查看是否已经设置成功(会显示127.0.0.1:7070的数据)。

lsof -i -n -P | grep 7070

2.使用proxychains进行全局代理

参考地址:http://blog.csdn.net/guizaijianchic/article/details/78422811

执行下面命令,安装proxychains软件

sudo apt install proxychains

配置此软件的配置项:

vim /etc/proxychains.conf

在[proxyList]项配置代理

socks5 127.0.0.1 7070

3.使用方式

proxychains 目标指令,如:

proxychains wget https://www.google.com

会把谷歌的首页下载到当前路径上。

基于coturn的webrtc iceserver搭建

一、coturn简介

1.原文参考地址

webrtc学习: 部署stun和turn服务器——http://blog.csdn.net/gupar/article/details/52782897

Ubuntu 14.04 coturn 安装 与 配置——http://blog.csdn.net/tanyhuan/article/details/77265349

开源地址——https://github.com/coturn/coturn

2.webrtc的P2P穿透

1. 尝试直连

2. 通过stun服务器进行穿透

3. 无法穿透则通过turn服务器中转

3.coturn的功能

coturn 在原来的turnserver上增加了一些高级特性. (这是作者的描述, 两个项目是同一个作者. 作者更推荐使用coturn);

coturn  支持tcp, udp, tls, dtls 连接;

coturn 支持linux bsd solaris mac os。暂不支持windows (未来会支持);

二、coturn安装

在ubuntu 16的软件库已经带有coturn,直接使用命令安装

sudo apt install coturn

1.配置并启动服务

方法一:

参考:http://blog.csdn.net/gupar/article/details/52782897

通过启动的命令行设置参数

turnserver -o -a -f -v --mobility -m 2 --max-bps=100000 --min-port=32355 --max-port=65535 --user=ling:ling1234 -r demo -L公网ip

方法二:

参考:http://blog.csdn.net/tanyhuan/article/details/77265349

修改配置文件(/etc/turnserver.conf)后启动

三、coturn测试

turnutils_uclient -u ling -w ling1234 公网IP

Nodejs开发环境与生产环境安装

一、window下安装开发环境

1.安装nodejs

下载地址:http://nodejs.cn/download/

根据操作系统版本下载核实的nodejs版本,并安装

2.设置nodejs环境变量

在环境变量中新建【NODE_PATH】,输入“nodejs安装目录\node_modules”;

在环境变量【PATH】中添加“nodejs安装目录”;

3.安装npm

新版本的nodejs已经集成了npm,如果验证后没有npm命令,需要单独安装

4.验证安装结果

cmd命令行执行:

node -v
npm -v

二、linux(ubuntu 14/16)下安装生产环境

1.安装nodejs
sudo apt install nodejs
sudo apt install nodejs-legacy
2.安装npm
sudo apt install npm
3.验证安装成果
node -v
npm -v

再议复利

复利可谓是人类最伟大的发明之一。它以指数增长的魔法棒(72法则)使个人财富快速增值。

但这些财富真的是价值对等的财富吗?人类生产力真的可以满足应对复利的指数增长吗?这些都需要更有权威的全球数据给予证实。

而我更想说的是,线性增长的人类生产力如何应对指数增长的复利。——那就是信贷,人们说是向银行借钱,其实在向未来的自己借钱。只有这样,货币的数量才能满足一定周期内的复利利益要求。信贷有借就要有还(当然也有人会毁约,特殊情况下,还会出现全社会的毁约或者国家间的毁约),这就造成了经济的波动(需要减少未来的支出而弥补现在的信贷与复利利息)。

 这里不是说复利不好,而是希望能让大家意识到其耀眼光环下的弊端。任何事物都有两面性。

 以上为个人一家之言,还望指正。