dnspod的域名解析搬到了cloudflare,路由器的动态域名解析换成了noip的服务。
ssh到路由器
vi /usr/lib/ddns/services
新增以下记录:
“noip.com” “http://[USERNAME]:[PASSWORD]@dynupdate.no-ip.com/nic/update?hostname=[DOMAIN]&myip=[IP]”
在luci界面中填写域名 账号 密码吧(注意:账号请填写邮箱)
dnspod的域名解析搬到了cloudflare,路由器的动态域名解析换成了noip的服务。
ssh到路由器
vi /usr/lib/ddns/services
新增以下记录:
“noip.com” “http://[USERNAME]:[PASSWORD]@dynupdate.no-ip.com/nic/update?hostname=[DOMAIN]&myip=[IP]”
在luci界面中填写域名 账号 密码吧(注意:账号请填写邮箱)
根据传统HTTPS的工作原理,浏览器在访问一个HTTPS站点时,先与服务器建立SSL连接,建立连接的第一步就是请求服务器的证书。而服务器在发送证书的时候,是不知道浏览器访问的是哪个域名的,所以不能根据不同域名发送不同的证书
SNI(Server Name Indication)是为了解决一个服务器使用多个域名和证书的SSL/TLS扩展。一句话简述它的工作原理就是,在连接到服务器建立SSL连接之前先发送要访问站点的域名(Hostname),这样服务器根据这个域名返回一个合适的证书。目前,大多数操作系统和浏览器都已经很好地支持SNI扩展,OpenSSL 1.0.0已经内置这一功能,nginx1.0以上版本已经支持SNI,只需要在编译安装前安装最新的OpenSSL 1.0.0以上版本Nginx使用1.0以上版本!。在目前iPv4枯竭的时代一个IP是非常宝贵的且价格非常高,这个时候如果为了配置一个SSL证书而购买一个IP是非常不划算的。
以CentOS为例:
你可以使用以下命令查看Nginx是否开启SNI
/usr/local/nginx/sbin/nginx -V
(根据你的Nginx安装目录而定)
nginx: nginx version: nginx/1.1.0
nginx: TLS SNI support disable
如果提示:nginx: TLS SNI support enable(已开启)
如果已开启那么可直接使用和不使用SNI配置完全一样。
如果没有开启提示:如果提示:nginx: TLS SNI support disable(未开启)
那们我们需要重新编译安装Nginx
首先下载Nginx安装包
wget http://nginx.org/download/nginx-1.9.0.tar.gz
解压Nginx安装包
tar zxvf nginx-1.9.0.tar.gz
进入解压文件夹
cd nginx-1.9.0
下载OpenSSL最新版本
wget http://www.openssl.org/source/openssl-1.0.1o.tar.gz
解压OpenSSL源码包
tar zxvf openssl-1.0.1o.tar.gz
更新系统的OpenSSL组件(CentOS)
yum install -y openssl* yum install -y openssl-devel
等待完成……..
执行以下命令编译Nginx
指定编译规则:
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6 --with-openssl=./openssl-1.0.1o/
开启编译
make
等待完成(一般数分钟 视服务器而定)
备份旧文件
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
复制新文件到安装目录
cp objs/nginx /usr/local/nginx/sbin/nginx
测试Nginx配置是否正确
/usr/local/nginx/sbin/nginx -t
会得到以下提示:
the configuration file/usr/local/nginx/conf/nginx.conf syntax is ok
configuration file/usr/local/nginx/conf/nginx.conf test is successful
证明配置没有问题,如果有问题按错误提示修改!
编译更新
make upgrade
使新配置生效
/usr/local/nginx/sbin/nginx -s reload
再次使用查看Nginx开启的服务
/usr/local/nginx/sbin/nginx -V
(根据你的Nginx安装目录而定)
nginx: nginx version: nginx/1.1.0 nginx: TLS SNI support enable(已开启)
大功告成!接下来就是修改vhost的配置,加上SSL证书配置了。
via: https://qiaodahai.com/nginx-server-an-ip-address-to-configure-multiple-ssl-certificates.html
1.安装pip
wget --no-check-certificate https://bootstrap.pypa.io/get-pip.py python get-pip.py
2.通过pip安装
pip install shadowsocks
3.配置
shadowsocks
创建配置文件 /etc/shadowsocks.json
. 例如:
{
"server":"my_server_ip",
"server_port":8388,
"local_port":1080,
"password":"barfoo!",
"timeout":600,
"method":"table"
}
Explanation of each field:
server
: your hostname or server IP (IPv4/IPv6).server_port
: server port number.local_port
: local port number.password
: a password used to encrypt transfer.timeout
: connections timeout in seconds.method
: encryption method, “bf-cfb”, “aes-256-cfb”, “des-cfb”, “rc4”, etc. Default is table, which is not secure. “aes-256-cfb” is recommended.
To run in the foreground:
ssserver -c /etc/shadowsocks.json
To run in the background:
ssserver -c /etc/shadowsocks.json -d start
ssserver -c /etc/shadowsocks.json -d stop
1. 下载安装:
wget --no-check-certificate https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz gunzip python-2.7.10.tgz tar xvf python-2.7.10.tar cd python-2.7.10 ./configure make make install
查看版本,检测是否安装成功:/usr/local/bin/python2.7 -V
2. 链接新版本:python2.7 安装成功后,系统默认指向的 python 仍然是低的版本;而 yum 需要用到低的版本,所以能卸载,需要建立软连接,使系统默认的 python 指向python2.7
mv /usr/bin/python /usr/bin/python.bak ln -s /usr/local/bin/python2.7 /usr/bin/python
查看系统默认指向版本:python -V
3. 系统 python 软链接新版本后,yum 不能正常工作;将 yum 文件第一行改为 #!/usr/bin/python2.4
即可:
注意:你的系统原来版本不一定是 Python2.4,请在第一步安装之前查看软件版本
vi /usr/bin/yum
i 变换为插入模式,
修改 #!/usr/bin/python 为
#!/usr/bin/python2.4
按 Esc 键回到命令模式 按住 Shift 敲:,输入 wq,保存退出
输入 yum 测试功能是否正常
请打开 终端 (应用程序>实用工具),并运行
ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
安装完成之后,你就可以使用brew命令来安装dnsmasq了。
仍然在终端运行
brew install dnsmasq
To configure dnsmasq, copy the example configuration to /usr/local/etc/dnsmasq.conf and edit to taste.
cp /usr/local/opt/dnsmasq/dnsmasq.conf.example /usr/local/etc/dnsmasq.conf
To have launchd start dnsmasq at startup:
sudo cp -fv /usr/local/opt/dnsmasq/*.plist /Library/LaunchDaemons
sudo chown root /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist
Then to load dnsmasq now:
sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist
安装提示非常友好,根据提示完成安装即可。
打开/usr/local/etc/dnsmasq.conf文件,增加以下内容:
listen-address=127.0.0.1
no-resolv
no-poll
server=208.67.222.220
server=8.8.4.4
鉴于国内网站很多使用CDN服务器,若采用国外的dns服务器,会被定向到国外访问速度较慢,采用国内的dns无法正常解析国外的部分网站(dns污染),可采用指定域名使用指定的dns服务器,格式如下:
server=/baidu.com/114.114.114.114
域名列表可参考:https://github.com/felixonmars/dnsmasq-china-list
重启dnsmasq
在终端运行:
sudo launchctl stop homebrew.mxcl.dnsmasq
sudo launchctl start homebrew.mxcl.dnsmasq
sudo killall -HUP mDNSResponder
即可刷新缓存并重新启动dnsmasq服务。