Solo  当前访客:4 登录 注册

喧哗博客-http://blog.xuahua.com

繁华过后的沉寂--技术经验分享
浏览次数: 94,611    文章总数: 91    评论总数: 3

liunx-https-安装布署笔记 有更新!

1.1 openssl目录准备
一般情况下openssl的配置文件都在这个目录/etc/pki/tls,so:
 
mkdir /etc/pki/ca_linvo
 
cd /etc/pki/ca_linvo
 
mkdir root server client newcerts
 
echo 01 > serial
 
echo 01 > crlnumber
 
touch index.txt
 
1.2 openssl配置准备
 
 
修改openssl配置
 
vim /etc/pki/tls/openssl.cnf
 
找到这句注释掉,替换为下面那句
 
#default_ca      = CA_default
 
default_ca      = ca_linvo
 
把[ CA_default ]整个部分拷贝一份,改成上面的名字[ CA_linvo ]
 
修改里面的如下参数:
 
dir = /etc/pki/ca_linvo
 
certificate = $dir/root/ca.crt
 
private_key = $dir/root/ca.key
 
保存退出
 
2 创建CA根级证书
生成key: openssl genrsa -out /etc/pki/ca_linvo/root/ca.key  2048
生成csr:openssl req -new -key /etc/pki/ca_linvo/root/ca.key -out /etc/pki/ca_linvo/root/ca.csr -config openssl.cnf
 
生成crt:openssl x509 -req -days 3650 -in /etc/pki/ca_linvo/root/ca.csr -signkey /etc/pki/ca_linvo/root/ca.key -out /etc/pki/ca_linvo/root/ca.crt
 
生成crl:openssl ca -gencrl -out /etc/pki/ca_linvo/root/ca.crl -crldays 7   -config openssl.cnf
 
生成的根级证书文件都在/etc/pki/ca_linvo/root/目录下
 
注意:创建证书时,建议证书密码设置长度>=6位,因为java的keytool工具貌似对它有要求。
 
3 创建server证书
生成key:openssl genrsa -out /etc/pki/ca_linvo/server/server.key 2048
 
生成csr:openssl req -new -key /etc/pki/ca_linvo/server/server.key -out /etc/pki/ca_linvo/server/server.csr  -config openssl.cnf
 
生成crt:openssl ca -in /etc/pki/ca_linvo/server/server.csr -cert /etc/pki/ca_linvo/root/ca.crt -keyfile /etc/pki/ca_linvo/root/ca.key -out /etc/pki/ca_linvo/server/server.crt -days 3650  -config openssl.cnf
说明:
 
1、这里生成的crt是刚才ca根级证书下的级联证书,其实server证书主要用于配置正常单向的https,所以不使用级联模式也可以:
 
openssl rsa -in /etc/pki/ca_linvo/server/server.key -out /etc/pki/ca_linvo/server/server.key
openssl x509 -req -in /etc/pki/ca_linvo/server/server.csr -signkey /etc/pki/ca_linvo/server/server.key -out /etc/pki/ca_linvo/server/server.crt -days 3650
2、-days 参数可根据需要设置证书的有效期,例如默认365天
 
4 创建client证书
生成key:openssl genrsa -des3 -out /etc/pki/ca_linvo/client/client.key 2048
 
生成csr:openssl req -new -key /etc/pki/ca_linvo/client/client.key -out /etc/pki/ca_linvo/client/client.csr  -config openssl.cnf
 
将 vim index.txt.attr    中unique_subject = no
 
 
生成crt:openssl ca -in /etc/pki/ca_linvo/client/client.csr -cert /etc/pki/ca_linvo/root/ca.crt -keyfile /etc/pki/ca_linvo/root/ca.key -out /etc/pki/ca_linvo/client/client.crt -days 3650   -config openssl.cnf
说明:
 
1、这里就必须使用级联证书,并且可以重复该步骤,创建多套client证书
 
2、生成crt时可能会遇到如下报错:
 
openssl TXT_DB error number 2 failed to update database
可参照这里进行操作。
 
我使用的是方法一,即将index.txt.attr中unique_subject = no
 
5 配置nginx
这里只列出server段的关键部分:
 
  server{
        charset utf-8;
        ssl on;
        ssl_certificate /etc/pki/ca_linvo/server/server.crt;
        ssl_certificate_key /etc/pki/ca_linvo/server/server.key;
        ssl_session_timeout 5m;
 
        ssl_protocols  SSLv2 SSLv3 TLSv1;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers   on;
}
 
tomcat 配置
 
  <Connector port="8443" 
                protocol="HTTP/1.1" scheme="https" secure="true"
                enableLookups="false"
                disableUploadTimeout="true"
                acceptCount="4096"
                SSLCertificateFile="/etc/pki/ca_linvo/server/server.crt" 
              SSLCertificateKeyFile="/etc/pki/ca_linvo/server/server.key"
               SSLVerifyClient="optional" SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8" />
重启Nginx
 
6 测试
6.1 浏览器测试
由于是双向认证,直接通过浏览器访问https地址是被告知400 Bad Request(No required SSL certificate was sent)的,需要在本机安装client证书。
windows上安装的证书需要pfx格式,也叫p12格式,生成方式如下:
openssl pkcs12 -export -inkey /etc/pki/ca_linvo/client/client.key -in /etc/pki/ca_linvo/client/client.crt -out /etc/pki/ca_linvo/client/client.pfx 
然后考到windows中双击即可进行安装,安装时会提示输入生成证书时设置的密码。
安装成功后,重启浏览器输入网址访问,浏览器可能会提示你选择证书,选择刚才安装的那个证书即可。
此时有些浏览器会提示用户该证书不受信任,地址不安全之类,这是因为我们的server证书是我
 
cat /etc/pki/ca_linvo/client/client.crt /etc/pki/ca_linvo/client/client.key > /etc/pki/ca_linvo/client/client.pem

开源并且安全使用很多年的后台权限登录系统 有更新!

曾经的我们,也为企业使用后台的权限管理系统头疼了好久,后来发现有套源码叫acegi的spring自带开源的权限管理系统。

现在共享出来给大家使用。

源码下载地址为: http://www.xuahua.com/download/blog/t_Vcasmin.tar.gz

nginx在liunx中的编译,安装

一,nginx 安装布署
 
1,nginx下载
 
wget  http://nginx.org/download/nginx-1.9.9.tar.gz
先 安装pcre,libevent, OpenSSL
>yum install pcre*
>yum install libevent*
>yum install openssl*
 
解压nginx,进入目录。
>./configure   --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module   --with-pcre=pcre源目录
pcre 指向源文件目录,而不是编译后的目录

                        # --with-http_stub_status_module:这个模块用于获取nginx自上次启动以来的工作状态,非核心模块

                       # --with-http_ssl_module     :HTTPS 使用

                     

 

> make && make install

pcre-7.8-7.el6.x86_64
pcre-devel-7.8-7.el6.x86_64
pcre-static-7.8-7.el6.x86_64

代理配置

  proxy_redirect off ;
             proxy_set_header Host $host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header REMOTE-HOST $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             client_max_body_size 50m;
             client_body_buffer_size 256k;
             proxy_connect_timeout 30;
             proxy_send_timeout 30;
             proxy_read_timeout 60;
             proxy_buffer_size 256k;
             proxy_buffers 4 256k;
             proxy_busy_buffers_size 256k;
             proxy_temp_file_write_size 256k;
             proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
             proxy_max_temp_file_size 128m;

 

        2.1 pcre 编译安装  安装pcre 让nginx支持rewrite 方便以后所需

 

        wget ftp://ftp.csx.cam.ac.uk//pub/software/programming/pcre/pcre-8.37.tar.gz
        tar zxvf pcre-8.37.tar.gz
        cd pcre-8.37/
       ./configure --prefix=/usr/local/pcre
编译完后可以执行make check进行测试(这一步非必须)
        make
  1. Skipping pcregrep UTF-8 tests: no UTF-8 support in PCRE library  
  2. Testing pcregrep newline settings  
  3. PASS: RunGrepTest  
  4. ==================  
  5. All 5 tests passed  
  6. ==================  
  7. make[2]: Leaving directory `/usr/local/pcre-8.32'  
  8. make[1]: Leaving directory `/usr/local/pcre
    加上对utf-8的支持可以在./configuration时加上参数: ./configure --enable-utf8  
make install
 
nginx -t -c /usr/local/nginx/conf/nginx.conf
 
    2.2 libevent 编译安装

        # wget http://www.monkey.org/~provos/libevent-2.0.12-stable.tar.gz
        # tar zxf libevent-2.0.12-stable.tar.gz 
        # cd libevent-2.0.12-stable
        #./configure  --prefix=/usr/local/lib
        # make && make install
     

使用ngrok将本地Web服务映射到外网-内网映射 有更新!

Step 1: Download ngrok

下载地址 https://ngrok.com/

Step 2: Unzip it

On Linux or OSX you can unzip ngrok from a terminal with the following command. On Windows, just double click ngrok.zip.

$ unzip /path/to/ngrok.zip

Step 3: Run it!

Read the Usage Guide for documentation on how to use ngrok. Try it out by running it from the command line:

$ ./ngrok -help
 
下面是我自己启动的服务
我再3000端口启动本地的服务:
可以看到 ngrok会产生一个Forwarding  http://6cdecc48.ngrok.com -> 127.0.0.1:3000
 
我们访问这个url,可以看到

LINUX关闭防火墙、开放特定端口等常用操作

 

(1) 重启后永久性生效

开启:chkconfig iptables on

关闭:chkconfig iptables off

(2) 即时生效,重启后失效

开启:service iptables start

关闭:service iptables stop

(3)Linux 防火墙开放特定端口

iptables是linux下的防火墙,同时也是服务名称。

service iptables status 查看防火墙状态
service iptables start 开启防火墙
service iptables stop 关闭防火墙
service iptables restart 重启防火墙
防火墙开放特定端口:
①文件/etc/sysconfig/iptables
②添加:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
★具体参照/etc/sysconfig/iptables中的配置,一般默认会有一个22端口开放★
★数字3306代表开放3306端口,也可以改成其他的端口.★
③重启防火墙
service iptables restart

保存对防火墙的设置
serivce iptables save
=====================================
查看iptables规则及编号
iptables -nL –line-number

查看iptables规则及编号
iptables -nL –line-number

关闭所有的INPUT FORWARD(转发) OUTPUT的所有端口
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

 

只打开22端口
iptables -A INPUT -p tcp –dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp –sport 22 -j ACCEPT

参数讲解:
–A 参数就看成是添加一条规则
–p 指定是什么协议,我们常用的tcp 协议,当然也有udp,例如53端口的DNS
–dport 就是目标端口,当数据从外部进入服务器为目标端口
–sport 数据从服务器出去,则为数据源端口使用
–j 就是指定是 ACCEPT -接收 或者 DROP 不接收

禁止某个IP访问
iptables -A INPUT -p tcp -s 192.168.1.2 -j DROP
–s 参数是来源(即192.168.1.2)
后面拒绝就是DROP
删除规则
iptables -D INPUT 2
删除INPUT链编号为2的规则

tomcat-https-安装布署笔记

tomcat_keys.docx
 

1)为服务器生成证书

 

keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:\keys\tomcat.keystore -validity 36500

tomcat

tomcat

admincas.tomcat.com

tomcat.com

tomcat.com

sz

gd

cn

y

 

2为客户端生成证书

keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore D:\keys\mykey.p12

操作第一步。

3让服务器信任客户端证书

keytool -export -alias mykey -keystore D:\keys\mykey.p12 -storetype PKCS12 -storepass tomcat -rfc -file D:\keys\mykey.cer

操作同第一步

 

 下一步,是将该文件导入到服务器的证书库,添加为一个信任证书使用命令如下:

  keytool -import -v -file D:\keys\mykey.cer -keystore D:\keys\tomcat.keystore

 

4让客户端信任服务器证书

keytool -keystore D:\keys\tomcat.keystore -export -alias tomcat -file D:\keys\tomcat.cer 

 

5) 证书导入jdk;提示输入密码--默认changeit

keytool -import -alias cacerts -keystore "%JAVA_HOME%\jre\lib\security\cacerts"  -file f:\keys\tomcat.cer  -trustcacerts 

6)配置Tomcat服务器

打开Tomcat根目录下的/conf/server.xml,找到Connector port="8443"配置段,修改为如下:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"

SSLEnabled="true" maxThreads="150" scheme="https"

secure="true" clientAuth="false" sslProtocol="TLS"

keystoreFile="D:\\keys\\tomcat.keystore" keystorePass="bdbvip"

  />

 

tomcat要与生成的服务端证书名一致)

 

7)测试

在浏览器中输入:https://localhost:8443/,会弹出选择客户端证书界面,点击“确定”,会进入tomcat主页,地址栏后会有“锁”图标,表示本次会话已经通过HTTPS双向验证,接下来的会话过程中所传输的信息都已经过SSL信息加密。

 

 

云服务器的初始化 有更新!

如果你是位运维大牛,可以忽略此处。

如果你是位开发者,对服务器的维护不太理解,那么这篇文章可以当作入门第一课。

当你购买云服务器以后,准备在上面布署开发软件时,那么此篇文章就适合你。

你可以安装SecureCRT来联接云服务器。

 

1,阿里云磁盘分区查看 

root>fdisk -l

Disk /dev/xvda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00078f9c

    Device Boot      Start         End      Blocks   Id  System
/dev/xvda1   *           1        2611    20970496   83  Linux

Disk /dev/xvdb: 107.4 GB, 107374182400 bytes
255 heads, 63 sectors/track, 13054 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

2,格式化(我需要格式化的磁盘为 /dev/xvdb 107.4GB

root> mkfs -t ext3 /dev/xvdb

3,建立挂载目录

root> mkdir /data

4,赋予权限

root> chmod 777 /data

5,挂载

root>mount /dev/xvdb /data

6,自动挂载,需要在/etc/fstab最后添加一行代码

root>vim /etc/fstab

/dev/xvdb /data ext3 defaults 0 0


7,重启生效

root>reboot

 

liunx 下maven的安装布署

1.首先到Maven官网下载安装文件,目前最新版本为3.0.5,下载文件为apache-maven-3.0.5-bin.tar.gz

下载可以使用wget命令;

wget http://mirror.bit.edu.cn/apache/maven/binaries/apache-maven-3.0.3-bin.tar.gz 


2.进入下载文件夹,找到下载的文件,运行如下命令解压

tar -xvf  apache-maven-3.0.5-bin.tar.gz


解压后的文件夹名为apache-maven-3.0.5

3.使用mv命令将apache-maven-3.0.5文件夹拷贝到自己指定的文件夹,比如/usr/local/下

mv -rf apache-maven-3.0.5 /usr/local/


4.配置环境变量,编辑/etc/profile文件,添加如下代码

MAVEN_HOME=/usr/local/apache-maven-3.0.5
export MAVEN_HOME
export PATH=${PATH}:${MAVEN_HOME}/bin

【注:此处需要使用root权限】


5.保存文件,并运行如下命令使环境变量生效
source /etc/profile

6.在控制台输入如下命令,如果能看到Maven相关版本信息,则说明Maven已经安装成功
mvn -v

mysql5.7在windows上面的布署安装

一,windows安装布署
 
1,MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的。如果是msi格式的可以直接点击安装,按照它给出的安装提示进行安装(相信大家的英文可以看懂英文提示),一般MySQL将会安装在C:\Program Files\MySQL\MySQL Server 5.6 该目录中;zip格式是自己解压,解压缩之后其实MySQL就可以使用了,但是要进行配置
 
2,配置环境变量:
 
 

我的电脑->属性->高级->环境变量

选择PATH,在其后面添加: 你的mysql bin文件夹的路径 (如:C:\Program Files\MySQL\MySQL Server 5.6\bin )

PATH=.......;C:\Program Files\MySQL\MySQL Server 5.6\bin (注意是追加,不是覆盖)

3,修改一下配置文件

 

mysql-5.6.1X默认的配置文件是在C:\Program Files\MySQL\MySQL Server 5.6\my-default.ini,或者自己建立一个my.ini文件,

在其中修改或添加配置(如图): 

[mysqld] 

basedir=C:\Program Files\MySQL\MySQL Server 5.6(mysql所在目录) 

datadir=C:\Program Files\MySQL\MySQL Server 5.6\data (mysql所在目录\data)

4,以管理员身份运行cmd

输入mysqld -install(如果不用管理员身份运行,将会因为权限不够而出现错误:Install/Remove of the Service Denied!) 

net start mysql

net stop mysql


 

三,liunx修改重置mysql root密码

 

1,停止 /etc/init.d/mysql stop

> mysqld_safe --user=mysql --skip-grant-tables --skip-networking &

>mysql -uroot mysql

>update user set password=PASSWORD('root123456') where user='root';

>flush privileges;

>quit;

>/etc/init.d/mysql  restart

 

四 windows修改重置 mysql root密码

Windows:

1. 管理员登陆系统,停止mysql服务或者结束mysqld-nt进程
2. 进入命令行,来到mysql的安装目录.假设安装目录为 d:\mysql\ , CMD进入命令行
3. 运行 d:\mysql\bin\mysqld start--skip-grant-tables  --skip-networking  启动mysql,关闭权限的检查

4,>mysql -u root 

5,alter user 'root'@'localhost' identified by 'root123456'; flush privileges;

6. 重新启动mysql服务

 

 

五,创建数据库

UTF-8

 

CREATE DATABASE blog DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

GBK

create database blog DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;
 
六,创建用户
 >create user 'test'@'%' identified by '123456';
 
七,赋权限

grant all privileges on *.* to joe@localhost identified by '1';

    flush privileges;

liunx下mysq5.7-布署安装

一,liunx安装布署
 
>wget 
>tar mysql-5.7.17-linux-glibc2.5-i686.tar.gz
>cp -r  mysql-5.7.17-linux-glibc2.5-i686 /usr/local/mysql 
   
 2,   加系统mysql组和mysql用户:
>groupadd mysql
>useradd -r -g mysql mysql
> cd /usr/local/mysql

 3,  创建数据库数据存储目录

>mkdir /usr/local/mysql/data

4, 修改当前目录拥有者为mysql用户

> chown -R mysql:mysql ./

5, 修改配置文件 mysql.server

>vi support-files/mysql.server

配置 basedir=/usr/local/mysql

      datadir=/usr/local/mysql/data

log-err=/usr/local/mysql/logs

6,添加开机启动:执行命令

>cp support-files/mysql.server /etc/init.d/mysqld

修改配置文件

  >suport-files/my-default.cnf

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

port=3306

innodb_buffer_pool_size = 128M

character_set_server=utf8
init_connect='SET NAMES utf8'
 
7,复制文件到 安装目录
>cp support-files/my-default.cnf ../my.cnf
 
8 ,此步骤必须先执行,初始化数据库
>cd /usr/local/mysql/bin
>mysqld --intialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data &
 

9 ,启动mysql服务:

>/etc/init.d/mysqld --user=mysql

看到mysql服务说明启动成功

>ps -ef|grep mysql

 

世界,你好!

欢迎使用 Solo。这是系统自动生成的演示文章。编辑或者删除它,然后开始您的博客!

另外,欢迎您加入黑客与画家的社区,您可以使用您的博客账号直接登录!

公告

喧哗博客--繁华过后的沉寂--技术经验分享^-^
Copyright (c) 2009-2019, b3log.org & hacpai.com