nginx    2017-07-19 21:49:37    1058
2016/03/21 16:57:10 [emerg] 30420#29876: BIO_new_file("C:
ginx-1.9.9\ssl\1_domain_bundle.crt") failed (SSL: error:0200107B:system library:fopen:Unknown error:fopen('C:
ginx-1.9.9\ssl\1_domain_bundle.crt','r') error:2006D002:BIO routines:BIO_new_file:system lib)
2016/03/21 16:57:11 [alert] 29884#31740: worker process 30420 exited with code 1
2016/03/21 16:57:11 [alert] 29884#31740: could not respawn worker
2016/03/21 16:57:28 [emerg] 28212#30316: BIO_new_file("C:
ginx-1.9.9\ssl\1_domain_bundle.crt") failed (SSL: error:0200107B:system library:fopen:Unknown error:fopen('C:
ginx-1.9.9\ssl\1_domain_bundle.crt','r') error:2006D002:BIO routines:BIO_new_file:system lib)


问题分析:只要写绝对路径,就会报错,无论windows还是linux,怀疑是对路径的处理有问题

解决办法
    windows下,将证书文件放到conf目录下,
    linux下,将证书文件放到nginx.conf所在的目录下



 

by 刘迎光@萤火虫工作室 
OpenBI交流群:495266201 
MicroService 微服务交流群:217722918 
mail: liuyg#liuyingguang.cn 
博主首页(==防止爬虫==):http://blog.liuyingguang.cn

TYK SSL 微服务 MicroService    2017-07-19 21:47:13    845
一、nginx+tyk(tyk仍然使用http,nginx使用https+proxy_pass转发
    测试可行

二、tyk配置文件配置使用https
参考链接:https://github.com/TykTechnologies/tyk/issues/181
1、修改配置文件:/opt/tyk-gateway/tyk.conf
    修改端口为443
    修改hostname为:mydomain.com
    添加配置:
"http_server_options": {
    "use_ssl": true,
    "server_name": "*.mydomain.com",
    "min_version": 2,
    "certificates": [
      {
        "domain_name": "*.mydomain.com",
        "cert_file": "/opt/tyk-gateway/ssl/mydomain.crt",
        "key_file": "/opt/tyk-gateway/ssl/mydomain.key"
      }
    ]
  }

2、修改DashBoard的配置文件:/opt/tyk-dashboard/tyk_analytics.conf

    修改tyk_api_config下的Host为https://mydomain.com

    修改tyk_api_config下的Port为:443


    
然后,重启下tyk的所有服务即可


 

by 刘迎光@萤火虫工作室 
OpenBI交流群:495266201 
MicroService 微服务交流群:217722918 
mail: liuyg#liuyingguang.cn 
博主首页(==防止爬虫==):http://blog.liuyingguang.cn

certificate curl    2017-07-19 21:46:25    1109
 x509: certificate has expired or is not yet valid


两种可能:
    1、本机时间错乱,本机时间为证书过期时间或者本机时间为证书未申请时间

    2、证书过期


经过检查,是我的虚拟机的时钟出现问题,时钟同步下即可:
# ntpdate s2m.time.edu.cn




 

by 刘迎光@萤火虫工作室 
OpenBI交流群:495266201 
MicroService 微服务交流群:217722918 
mail: liuyg#liuyingguang.cn 
博主首页(==防止爬虫==):http://blog.liuyingguang.cn

docker-compose TYK gateway MicroService 微服务    2017-07-19 21:45:28    869
1、安装Docker(1.10)、docker-compose(1.6.2)、git
2、docker pull镜像:
    2.1、如果安装了dao插件:
        # dao pull tykio/tyk-gateway:v1.9.1.1
        # dao pull tykio/tyk-dashboard:v0.9.7.2
        # docker pull daocloud.io/library/mongo:3.2.4
        # dao pull redis:3.0.7
    2.2、如果没有安装dao插件
        # docker pull tykio/tyk-gateway:v1.9.1.1
        # docker pull tykio/tyk-dashboard:v0.9.7.2
        # docker pull daocloud.io/library/mongo:3.2.4
        # docker pull redis:3.0.7
3、clone git项目:
4、修改配置文件
    4.1、修改tyk_analytics.conf,tyk_api_config中的Host修改为“http://yourIP”,host_config中的override_hostname修改为“yourIP”。
    4.2、修改tyk.conf,hostname修改为“yourIP”,在如上的git地址中,tyk.conf中没有hostname,需要自己添加
    
5、运行docker-compose启动镜像
    # docker-compose up -d
 

 

by 刘迎光@萤火虫工作室 
OpenBI交流群:495266201 
MicroService 微服务交流群:217722918 
mail: liuyg#liuyingguang.cn 
博主首页(==防止爬虫==):http://blog.liuyingguang.cn

2017-07-19 21:44:47    787
+++++++ 20160404 begin+++++++
maven环境:
<dependency>
	<groupId>org.mongodb</groupId>
	<artifactId>mongodb-driver</artifactId>
	<version>3.2.2</version>
</dependency>

+++++++ 20160404 end+++++++

 
import java.util.ArrayList;
import java.util.List;

import org.bson.Document;

import com.mongodb.MongoClient;
import com.mongodb.MongoCredential;
import com.mongodb.ServerAddress;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;

public class TestMongo {
    public static void main(String[] args) {
        MongoClient client = null;
        ServerAddress serverAddress = new ServerAddress("115.28.246.12",
                27017);
        List<ServerAddress> seeds = new ArrayList<ServerAddress>();
        seeds.add(serverAddress);
        MongoCredential credentials = MongoCredential
                .createScramSha1Credential("admin", "admin",
                        "abc123,admin".toCharArray());
        List<MongoCredential>
28/48