linux

使用certbot来进行Let’s Encrypt的ssl 配置

星期四, 五月 18th, 2017 | JAVA-and-J2EE, linux | 没有评论

之前let’s encrypt 的老版本可以参考这篇文章主要配置也都相同
http://blog.i5a6.com/1562.html

基于nginx配置
安装方法

如果是CentOS 6,先执行:yum install epel-release
cd /root/
wget https://dl.eff.org/certbot-auto –no-check-certificate
chmod +x ./certbot-auto
./certbot-auto -n
接下来就会自动安装所需的依赖包。

配置nginx

1
2
3
4
5
6
7
8
location ^~ /.well-known/acme-challenge/ {
   default_type "text/plain";
   root     /usr/share/nginx/html;
}
 
location = /.well-known/acme-challenge/ {
   return 404;
}

生成证书

单域名生成证书:

1
./certbot-auto certonly --email username@domain --agree-tos --webroot -w /websiteroot -d domain

多域名单目录生成单证书:

1
./certbot-auto certonly --email username@domain --agree-tos --webroot -w /websiteroot -d domain1 -d domain2

多域名多目录生成多个证书:

1
./certbot-auto certonly --email admin@vpser.net --agree-tos --webroot -w /websiteroot1 -d domain1 -d domain2 -w /websiteroot2 -d domain3 -d domain4

证书更新
› Continue reading

Tags: , ,

Oracle VM VirtualBox配置centos7的网络访问

星期四, 五月 4th, 2017 | linux | 没有评论

在虚拟机中配置centos7的网络

1.启用网络配置 Bridged Adapter桥接模式
bridgedadapter

2.修改配置文件/etc/sysconfig/network-scripts/ifcfg-enp0s3

将ONBOOT=”no”改为yes,
BOOTPROTO=”dhcp”

启用网络 service network restart

3.配置可以工具连接的静态ip地址

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet
#BOOTPROTO=dhcp
BOOTPROTO=NONE  #(修改)
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=4a42d996-1da5-4ea9-b0f9-88b77615880d
DEVICE=enp0s3
ONBOOT=yes
IPADDR0=192.168.1.188 #(新增)
PREFIX0=24            #(新增)
GATEWAY0=192.168.1.1  #(新增)
DNS1=192.168.1.1      #(新增)
 
service network restart

重启网络即可

Tags: , ,

git 取消修改,恢复版本常用命令

星期五, 三月 17th, 2017 | JAVA-and-J2EE, linux | 没有评论

一并说下 常用的简单指令

1. >git clone xxxx.git
 
2. >git status
 
3. >git add *
 
4. >git commit -m "comment"
 
5. >git push
 
6. >git pull
 
上述是正常情况下的使用,下面为修改等
#取消对文件的修改。还原到最近的版本,废弃本地做的修改。
git checkout -- <file>
 
#取消已经暂存的文件。即,撤销先前"git add"的操作
git reset HEAD <file>...
 
#修改最后一次提交。用于修改上一次的提交信息,或漏提交文件等情况。
git commit --amend
 
#回退所有内容到上一个版本
git reset HEAD^
 
#回退a.c这个文件的版本到上一个版本  
git reset HEAD^ a.c  
 
#向前回退到第3个版本  
git reset –soft HEAD~3  
 
#将本地的状态回退到和远程的一样  
git reset –hard origin/master  
 
#回退到某个版本  
git reset 089c  
 
#回退到上一次提交的状态,按照某一次的commit完全反向的进行一次commit.(代码回滚到上个版本,并提交git)
git revert HEAD

nginx支持lua的编译配置及Nginx rewrite对post数据的影响

星期四, 十二月 8th, 2016 | JAVA-and-J2EE, linux | 没有评论

nginx+lua 可以很方便做限流,路由等其他配置很是方便

编译配置如下:
lua-nginx-module 是 openresty(集成nginx版本) 下的一个模块可以独立编译挂载
https://github.com/openresty/lua-nginx-module

Alternatively, ngx_lua can be manually compiled into Nginx:

1.Install LuaJIT 2.0 or 2.1 (recommended) or Lua 5.1 (Lua 5.2 is not supported yet). LuaJIT can be downloaded from the LuaJIT project website and Lua 5.1, from the Lua project website. Some distribution package managers also distribute LuaJIT and/or Lua.

2.Download the latest version of the ngx_devel_kit (NDK) module HERE.

3.Download the latest version of ngx_lua HERE.

4.Download the latest version of Nginx HERE (See Nginx Compatibility)

下载编译安装:
› Continue reading

Tags: ,

no response “Installing Python packages” when letsencrypt-auto

星期一, 十一月 7th, 2016 | JAVA-and-J2EE, linux | 没有评论

延续https的时间的时候,遭遇no response “Installing Python packages”,卡在一直不动的解决方法

主要执行 三,四即可

一.重新配置pip的源文件

vim ~/.pip/pip.conf
 
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
 
[install]
trusted-host=mirrors.aliyun.com

› Continue reading

Tags: ,

Redis3.2的保护模式

星期四, 十月 27th, 2016 | linux | 没有评论

Redis3.2的保护模式

针对之前Redis版本,默认无bind和密码设置存在很大安全风险;Redis3.2版本提出新特性protected mode(保护模式)。
如果Redis在启动时,未开启bind和密码设置功能,只能通过回环地址本地访问,如果尝试远程访问redis,会提示以下错误:

DENIED Redis is running protected mode because protected mode is enabled,
no bind address was specified, no authentication password is requested to clients.
In this mode connections are only accepted from the loopback interface.

当然也可直接执行CONFIG SET protected-mode no,关闭保护模式。
类似这种设置在MongoDB3.2或MySQL5.7的默认安全配置都有。

Tags:

nginx配置https使其达到A+水平

星期六, 五月 21st, 2016 | linux | 一条评论

前面有一篇文章配置了启用https的安全连接基于LetsEncrypt SSL的nginx配置

在 SSL的安全检测中才获得了B,想达到A+,也很轻松,加下配置文件即可,测试地址:https://www.ssllabs.com/ssltest/index.html

配置如下(nginx.conf):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 server
  {
    listen     192.168.1.1:443 ssl;
    listen     192.168.1.1:80;
    server_name www.iatodo.com iatodo.com;
 
    add_header               Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
    ssl_certificate          /etc/letsencrypt/live/iatodo.com/fullchain.pem;
    ssl_certificate_key      /etc/letsencrypt/live/iatodo.com/privkey.pem;
 
    ssl_ciphers                EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    ssl_prefer_server_ciphers  on;
 
    ssl_protocols              TLSv1 TLSv1.1 TLSv1.2;
    ssl_session_cache          shared:SSL:50m;
    ssl_session_timeout        1d;
    ssl_session_tickets        on;
 
  ......

最后放图 画圈的部分是 Strict-Transport-Security的部分,默认开启https的访问
iatodossl

Tags: , ,

量子恒道网站统计的关闭

星期日, 五月 8th, 2016 | JAVA-and-J2EE, linux | 没有评论

早就看到关闭的通知,一直等到过了五一,自己都还没有舍得撤下对应的统计代码,现在彻底看不到统计信息了,
只有去撤掉对应的信息了,也发个小短文聊以纪念感谢陪伴的那多年.

对应网站流量统计,大家知道的可能多是 google统计,百度统计,CNZZ统计等

在当CNZZ还不是很好的时候,选择了恒道,后来恒道又被阿里收购,逐渐淡出统计和数据分析的视野.

对于 量子恒道网站统计将于2016年4月30日正式下线 感觉奇怪又 觉得很正常.

不想多说什么,所有的持续都需要商业行为的支持,聊以纪念下,在大数据盛行的今日,应该有更多的用途.

后续的自己需要撤掉几个网站对应的统计信息.

Tags:

启用https的安全连接基于LetsEncrypt SSL的nginx配置

星期四, 五月 5th, 2016 | JAVA-and-J2EE, linux | 2 Comments

现在网站不是https都不好意思和别人说了,顺便也跟下潮流.

操作系统:Centos6.5版本

官方文档参考: let’s encrypt getting started

具体介绍就不废话了,知道是免费、时效是90天即可,记得及时自动续期就好.

一.系统环境配置

Git

1
yum -y install git

python 2.7 检查

1
/usr/bin/python -V #查看版本

安装编译需要的工具

1
yum install zlib-devel bzip2-devel openssl-devel xz-libs wget xz

安装 Python2.7.8
› Continue reading

Tags: , ,

mysql支持存储emoji在5.5.3版本以后支持

星期一, 五月 2nd, 2016 | JAVA-and-J2EE, linux | 没有评论

在做基于办公的沟通软件中,常用一些emoji的聊天版本,发现在mysql中无法存储.

因为emoji表情在存储时转成的四个字节(\xF0\x9F\x90\xAC);
由于数据库使用的是utf8字符集utf8_general_ci,这个校对规则(collation)最大只支持3个字节,所以四个字节的emoji就会存储不全,从而取出无法显示.

简要说明

上文提到的 utf8_general_ci 与 ut8_unicode_ci 是utf8的两种字符编码方式,不同之处就是对字符的分类(sorting)和对比(comparison)。

MySQL 5.5.3及以后版本支持使用utf8mb4字符集,它在与utf8数据格式处理性能相同基础上加强了对字符码位(code point)的处理能力。与utf8对应的,utf8mb4有 utf8mb4_general_ci 和 utf8mb4_general_ci 。

utf8mb4_general_ci 基于Unicode standard sorting与comparison,支持更多的语言种类。
utf8mb4_general_ci 不能解析所有的Unicode分类规则,在一些特别的语言或字符处理上存在一定的问题。不过在性能上,它能更快的sorting、comparison,因其采用一组性能相关的快捷方式(performance-related shortcuts)。
解决办法

通过上文我们已经知道一种解决办法了,但有一个硬性条件就是你的数据库版本。当你的数据库版本没有达到5.5.3怎么办呢…总结一下,mysql支持存储emoji表情的方法,至少有两种。

1.修改数据库编码为utf8mb4,前提是你的mysql数据库版本必须得是5.5.3及以后的
2.将带emoji的文本转为base64来进行存储,返回时进行相应解码返回
下面介绍我如何使用第一种方法:

将数据库编码由utf8改为utf8mb4

set character_set_client      = utf8mb4;                       
set character_set_connection  = utf8mb4;                       
set character_set_database    = utf8mb4;                       
set character_set_results     = utf8mb4;                       
set character_set_server      = utf8mb4;

将已经生成的表也转成utf8mb4

ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

小记:直接在这个层面上解决,省了在代码中转和处理方便很多.

Tags: , ,

Rss

Search

文章分类

Meta