服务器类
分页: 1/28 第一页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]
Feb 15
Tags: ,
Feb 15
Tags: ,
Dec 21
Nginx支持单IP多域名SSL证书需要OpenSSL支持,由于CentOS5.X系统自带的OpenSSL版本太低不支持,所以首先需要编译安装一个高版本的openssl,CentOS 6.X的系统自带的openssl版本大于0.98以上,一般编译好的nginx都是支持的。

检查nginx是否支持TLS SNI support:
/usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.10.2
TLS SNI support disabled
configure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

TLS SNI support disabled 这样是不支持的。

查看openssl的版本:


下面开始升级openssl:
wget ftp://ftp.openssl.org/source/openssl-1.0.2h.tar.gz
tar xzvf openssl-1.0.2h.tar.gz
cd openssl-1.0.2h
./config --prefix=/usr/local/openssl/ enable-shared enable-tlsext
make && make install

检查openssl的版本:


编译nginx:


检查现在是否支持TLS SNI support:


TLS SNI support enabled 现在已经支持了,再添加几个https的站点都正常了。

Tags: , ,
Dec 19
软件版本:OpenSSL 1.0.2h  nginx/1.10.2
错误信息:

make -f objs/Makefile
make[1]: Entering directory `/data/2016/openresty-1.11.2.2/bundle/nginx-1.10.2'
cd /usr/local/openssl \
        && if [ -f Makefile ]; then make clean; fi \
        && ./config --prefix=/usr/local/openssl/.openssl no-shared  \
        && make \
        && make install_sw LIBDIR=lib
/bin/sh: line 2: ./config: No such file or directory
make[1]: *** [/usr/local/openssl/.openssl/include/openssl/ssl.h] Error 127
make[1]: Leaving directory `/data/2016/openresty-1.11.2.2/bundle/nginx-1.10.2'
make: *** [build] Error 2

其实/usr/local/openssl/目录下面根本没有.openssl这个目录,找不到相关文件肯定会报错的了。
解决方法也很简单:

vi auto/lib/openssl/conf

     31             CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include"
     32             CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h"
     33             CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a"
     34             CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a"

把31行到34行中的.openssl删除

     31             CORE_INCS="$CORE_INCS $OPENSSL/include"
     32             CORE_DEPS="$CORE_DEPS $OPENSSL/include/openssl/ssl.h"
     33             CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libssl.a"
     34             CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libcrypto.a"

保存之后,再make就编译通过了。
Tags: , , ,
Jul 29
错误发生在内部测试使用的ESXI主机上的虚拟机,因为之前的ESXI主机raid卡和温度传感器报错,机器不能正常启动,所以就把磁盘换到另一台配置一样的机器上,启动之后ubuntu、freebsd、debian8、solaris、centos7虚拟机都连接正常,唯独两台CentOS 6.8系统的虚拟机不能连接,于是使用VMware vSphere Client连接ESXI打开控制台登录系统,执行ifconfig发现只剩下:

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:448 (448.0 b)  TX bytes:448 (448.0 b)


执行 /etc/init.d/network restart

Shutting down loopback insterface:                     [  OK  ]
Bringing up loopback insterface:                          [  OK  ]
Bringing up interface eth0:  Device eth0 does not seem to be present,delaying initialization.  
                                                                      [FAILED]

执行 ifconfig -a 发现没有eth0,却有一个eth1,原来是mac地址变化了,知道是什么问题就好办了,不重启机器你可以把eth1的mac地址记下,cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1 然后把里面的eth0改为eth1,HWADDR改为eth1的mac地址,然后service network restart或ifup eth1 就可以了。

如果你的机器可以重启,可以使用以下方法:
vi /etc/sysconfig/network-scripts/ifcfg-eth0 把里面的HWADDR改为eth1的mac地址之后保存。
vi /etc/udev/rules.d/70-persistent-net.rules 你会发现有两行配置,把eth0的那一行删除,把eth1改为eth0之后保存,类似于下面这样:

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:ce:cb:ee", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"


使用第二种方法的可以把/etc/sysconfig/network-scripts/ifcfg-eth1删了,或者设置为开机不启动,然后执行init 6 或者reboot重新启动虚拟机,虚拟机重新启动之后网络正常了。
Tags: , ,
分页: 1/28 第一页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]