安装openssl库   # yum install -y openssl openssl-devel

安装gcc     # yum install gcc-c++

安装 PCRE    # yum install -y pcre pcre-devel

安装zlib库   # yum install -y zlib zlib-devel

安装perl     # yum install perl-Digest-SHA1.x86_64

切换路劲到  # /home

下载安装包 # wget http://nginx.org/download/nginx-1.13.0.tar.gz

解压  # tar xxf nginx-1.13.0.tar.gz

赋权  # chmod -R 777 nginx-1.13.0

进入解压后的目录   # cd nginx-1.13.0

行./configure  产生makefile 文件 prefix配置安装路径  支持httpS   # ./configure --prefix=/home/nginx --with-http_stub_status_module --with-http_ssl_module

编译(生成二进制文件)   # make

安装  # make install

赋权  # chmod -R 777  /home/nginx

删除安装文件   # rm -rf /home/nginx-1.13.0

安装结束

运行  # ./home/nginx/sbin/nginx

停止  # ./home/nginx/sbin/nginx -s -stop

SSL证书制作(可以测试用,正式的找CA申请一个)   生成证书,一共四步

1) 生成RSA私钥 (会要求输入至少4位密码)
# openssl genrsa -des3 -out private.key 2048

2) 根据已生成的RSA私钥输出无加密的私钥(输入第1步输入的密码。这步可以跳过,以后要给nginx使用,每次reload nginx配置时候都要你验证这个密码的)
# openssl rsa -in private.key -out private.key

# 3) 根据这个key文件生成证书请求文件(正式的拿这个文件找CA颁发,测试的第4步自己颁发)
# openssl req -new -key private.key -out csr.csr

Country Name (2 letter code) [AU]:cn
State or Province Name (full name) [Some-State]:sichuan
Locality Name (eg, city) []:chengdu
Organization Name (eg, company) [Internet Widgits Pty Ltd]:zgxx
Organizational Unit Name (eg, section) []:zgxx
Common Name (e.g. server FQDN or YOUR name) []:eyunpiao.cn                    (这里填写域名,不然使用会出错)
Email Address []:543013306@qq.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:123456                                                                   (这个密码在配置tomcat会用到)
An optional company name []:zgxx

# 4) 使用证书请求签名文件和私钥生成crt证书                                         (这里3650是证书有效期,单位为,这个可以根据自己的实际情况填写)

# openssl x509 -req -days 3650 -in csr.csr -signkey private.key -out ssl.crt

生成结果

private.key ——-用户的私钥,要保存好,一般要放在服务器上的某个位置
csr.csr ———证书请求文件,
ssl.crt ———生成的X509证书,供客户端下载使用

将三个文件拷贝到nginx的conf目录下。然后进行配置

nginx配置nginx.config

server{
        #域名可以有多个,用空格隔开
        server_name eyunpiao.cn www.eyunpiao.cn;
        charset UTF-8;
        access_log  logs/server.log  sfpt_log_format;

#监听端口

# (如果放开80,既可以http访问,也可以https访问)
        #  listen 80 default backlog=2048;     
           listen 444 ssl;           
           ssl_certificate         /home/nginx/conf/ssl.crt;
           ssl_certificate_key  /home/nginx/conf/private.key;

#允许SSL协议
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2 SSLv2; 
      ssl_session_cache shared:SSL:10m;  
        #session超时时间
        ssl_session_timeout 30m;           
       #加密算法
        ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
        #启动加密算法
        ssl_prefer_server_ciphers on;

}

另外还可以加入如下代码实现80端口重定向到443

server {

listen 80;

server_name ww.centos.bz;

rewrite ^(.*)
https://$server_name$1 permanent;

}

04-17 15:50
查看更多