Open itang opened 10 years ago
Sample:
upstream backend { server 127.0.0.1:3000; } server { listen 80; server_name www.itang.com; location / { proxy_http_version 1.1; proxy_set_header Connection ""; proxy_pass http://backend; } } server { listen 80; server_name image.itang.com; root /home/itang/data/pics; location / { } }
常用参数:
server { listen 80; server_name test.itang.com;
location / { proxy_http_version 1.1; proxy_set_header Connection ""; proxy_set_header HOST $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://test; }
}
AES 不指定填充及加密模式的话,将会采用 ECB 模式和 PKCS5Padding 填充进行处理。 AES 是块加密,块的长度是 16 个字节,如果原文不到 16 个字节,则需要填充至 16 个字节后再进行处理。 AES 密文长度 = (原文长度 / 16) * 16 + 16 如果你想密文与原文长度一样的话,就不能使用块加密算法,需要使用流加密算法,比如 RC4 算法
Base64/32
Base32的原理和Base64一模一样,所以先看一下Base64编码是怎么一回事。 Base64顾名思义就是用64个可显示字符表示所有的ASC字符,64也就是6Bits,而ASC字符一共有256个,也就是8Bits,很简单了,取一下最小公约数,24位,言下之意就是用4个Base64的字符来表示3个ASC字符。即在编码时,3个一组ASC字符,产生4个Base64字符,解码时4个一组,还原3个ASC字符。根据这个原理Base64编码之后的字符串应该比原先增加1/3的长度。 这里所谓的编码就是一次取6Bits,换算出来的值作为索引号,利用这个索引数,到预先定义的长度为64的字符数组中取相应的字符替换即可;解码就是逆运算,根据字符取在预定义数组中的索引值,然后按8Bits一组还原ASC字符。 Base32和Base64相比只有一个区别就是,用32个字符表示256个ASC字符,也就是说5个ASC字符一组可以生成8个Base字符,反之亦然。
http://www.pro-technix.com/information/crypto/pages/vernam_base.html
step 1: 创建 keystore 文件
$ keytool -genkey -alias tomcat -keyalg RSA
记住输入的密码信息, 向导完成后, 在用户的主目录生成了.keystore文件
一次性生成keystore文件:
$ keytool -genkey -alias xxx_crp -keyalg RSA -keystore xxx_crp.keystore -keysize 1024 -validity 3650 -keypass xxx2014 -storepass xxx2014 -dname "CN=(xxx), OU=(xxx.com), O=(xxx), L=(sz), ST=(gd), C=(cn)"
<Connector SSLEnabled="true" acceptCount="100" clientAuth="false" disableUploadTimeout="true" enableLookups="false" maxThreads="25" port="8443" keystoreFile="/.keystore" keystorePass="password" protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https" secure="true" sslProtocol="TLS" />
[ ] Nginx SSL/HTTPS 配置
http://www.oschina.net/question/12_10555
http://jinnianshilongnian.iteye.com/blog/2036420
http://stackoverflow.com/questions/116074/how-to-ignore-a-directory-with-svn
How to ignore a directory with SVN?
Set the svn:ignore property of the directory:
svn propset svn:ignore dirname . If you have multiple things to ignore, separate by newlines in the property value. In that case it's easier to edit the property value using an external editor:
svn propedit svn:ignore .
gedit ~/.subversion/config
[miscellany] global-ignores = .git logs target .idea .lein-* .nrepl-port *.iml
批量add 文件
svn add . --force
svn import mex-frontend-api https://mexbj.com/svn/PBJ/sources/tdb-api/trunk -m "Initial import"
[ ] http://stackoverflow.com/questions/18268268/cannot-commit-to-the-svn-checkout-can-only-be-performed-on-a-version-resource
LogBack配置及注意事项
具体的配置可以参考这里 http://blog.sina.com.cn/s/blog_9ed9ac7d01016ja1.html
在FixedWindowRollingPolicy里面不能配置%d{yyyy-MM-dd}, 如果配置了的话,会导致滚动失败,不仅不能生成滚动文件,当前文件也不再写入,只能且必需配置%i. FixedWindowRollingPolicy可以和SizeBasedTriggeringPolicy配合使用
TimeBasedRollingPolicy 不能和SizeBasedTriggeringPolicy配合使用,如果两个同时配置,在达到最大文件大小的时候,会导致即不会生成滚动文件,当前文件也不再写入。
UBUNTU SERVER安装SSH服务
1.安装
sudo apt-getinstall openssh-server Ubuntu缺省安装了openssh-client,所以在这里就不安装了,如果你的系统没有安装的话,再用apt-get安装上即可。 www.2cto.com
2.确认sshserver是否安装好
ps -e |grep ssh 1698 ? 00:00:00 ssh-agent 4473 ? 00:00:00 sshd
如果只有ssh-agent说明ssh-server还没有启动,需要/etc/init.d/ssh start; 如果看到sshd那说明ssh-server已经启动了。
注:在ubuntu-12.04-server-i386.iso安装中只显示sshd这一项:
3.配置
ssh-server配置文件位于/ etc/ssh/sshd_config,在这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号,如222。 然后重启SSH服务: sudo/etc/init.d/ssh restart
自动化部署
域名
Nginx CentOS
Sample:
常用参数:
server { listen 80; server_name test.itang.com;
}
安全之加解密
Base64/32
等长加密
http://www.pro-technix.com/information/crypto/pages/vernam_base.html
Linux
Haproxy
nginx
负载均衡
https
DB
Mysql
PostgreSQL
JVM
域名注册
更多
step 1: 创建 keystore 文件
$ keytool -genkey -alias tomcat -keyalg RSA
记住输入的密码信息, 向导完成后, 在用户的主目录生成了.keystore文件
一次性生成keystore文件:
[ ] Nginx SSL/HTTPS 配置
http://www.oschina.net/question/12_10555
http://jinnianshilongnian.iteye.com/blog/2036420
svn
http://stackoverflow.com/questions/116074/how-to-ignore-a-directory-with-svn
How to ignore a directory with SVN?
Set the svn:ignore property of the directory:
svn propset svn:ignore dirname . If you have multiple things to ignore, separate by newlines in the property value. In that case it's easier to edit the property value using an external editor:
svn propedit svn:ignore .
gedit ~/.subversion/config
批量add 文件
svn add . --force
svn import
issues
[ ] http://stackoverflow.com/questions/18268268/cannot-commit-to-the-svn-checkout-can-only-be-performed-on-a-version-resource
Logback
LogBack配置及注意事项
具体的配置可以参考这里 http://blog.sina.com.cn/s/blog_9ed9ac7d01016ja1.html
在FixedWindowRollingPolicy里面不能配置%d{yyyy-MM-dd}, 如果配置了的话,会导致滚动失败,不仅不能生成滚动文件,当前文件也不再写入,只能且必需配置%i. FixedWindowRollingPolicy可以和SizeBasedTriggeringPolicy配合使用
TimeBasedRollingPolicy 不能和SizeBasedTriggeringPolicy配合使用,如果两个同时配置,在达到最大文件大小的时候,会导致即不会生成滚动文件,当前文件也不再写入。
ssh
UBUNTU SERVER安装SSH服务
1.安装
sudo apt-getinstall openssh-server Ubuntu缺省安装了openssh-client,所以在这里就不安装了,如果你的系统没有安装的话,再用apt-get安装上即可。 www.2cto.com
2.确认sshserver是否安装好
ps -e |grep ssh 1698 ? 00:00:00 ssh-agent 4473 ? 00:00:00 sshd
如果只有ssh-agent说明ssh-server还没有启动,需要/etc/init.d/ssh start; 如果看到sshd那说明ssh-server已经启动了。
注:在ubuntu-12.04-server-i386.iso安装中只显示sshd这一项:
3.配置
ssh-server配置文件位于/ etc/ssh/sshd_config,在这里可以定义SSH的服务端口,默认端口是22,你可以自己定义成其他端口号,如222。 然后重启SSH服务: sudo/etc/init.d/ssh restart