使用nginx搭建https环境

原创
2016/05/24 19:31
阅读数 388

环境,centos32位6.5

1.安装nginx

    你可以选择直接使用 sudo yum install nginx进行安装,不过我们这里采用下载文件编译的方式进行安装

nginx http://nginx.org/ 其中需要依赖

pcre http://www.pcre.org/

openssl http://www.openssl.org/source/ ,

zlib http://www.zlib.net/

通过 wget下载后解压

进入nginx目录 :指定对应路径 并开启http_ssl_module模块

./configure \

--with-openssl=/home/kite/libs/openssl-1.0.2h --with-pcre=/home/kite/libs/pcre-8.37 --with-zlib=/home/kite/libs/zlib-1.2.8 \

--with-http_stub_status_module --with-http_ssl_module --with-http_realip_moduleran

make & make install

可以 -prefix 指定默认安装路径,不指定默认安装在/usr/local/nginx目录下修改配置文件

其中证书使用let`s Encrypt免费证书,https://www.sslforfree.com/  提供证书生成,  你也可以选择自己生成(默认只有采用代码的方式),注该证书3个月有限期

worker_processes 1;
error_log logs/error.log;
pid logs/nginx.pid;
worker_rlimit_nofile 65535;
events {
    use epoll;
    worker_connections 65535;
}
http {
    include            mime.types;
    default_type       application/octet-stream;

    sendfile           on;
    tcp_nopush         on;
    tcp_nodelay        on;

    keepalive_timeout  60;

    #... ...#

    gzip               on;
    gzip_vary          on;

    gzip_comp_level    6;
    gzip_buffers       16 8k;

    gzip_min_length    1000;
    gzip_proxied       any;
    gzip_disable       "msie6";

    gzip_http_version  1.0;

    gzip_types         text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/svg+xml;
    upstream www.kite.live {
         server localhost:8080;
    }
    upstream pan.kite.live {
         server localhost:8081;
    }
    
    server {
        listen       443;
        server_name  pan.kite.live;
        ssl on;
        #为虚拟主机指定pem格式的证书文件
        ssl_certificate /home/kite/ssl/files/certificate.crt;
        #为虚拟主机指定私钥文件
        ssl_certificate_key /home/kite/ssl/files/private.key;
        #客户端能够重复使用存储在缓存中的会话参数时间
        ssl_session_timeout  5m;  
        #指定使用的ssl协议   
        ssl_protocols  SSLv3 TLSv1;   
        #指定许可的密码描述  
        ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;   
        #SSLv3和TLSv1协议的服务器密码需求优先级高于客户端密码  
        ssl_prefer_server_ciphers   on;   
        location / {
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
            proxy_pass http://pan.kite.live;
        }
    }
    server {
        listen       443;
        server_name  kite.live www.kite.live;
        #为一个server开启ssl支持  
        ssl on;
        #为虚拟主机指定pem格式的证书文件
        ssl_certificate /home/kite/ssl/files/certificate.crt;
        #为虚拟主机指定私钥文件
        ssl_certificate_key /home/kite/ssl/files/private.key;
        #客户端能够重复使用存储在缓存中的会话参数时间
        ssl_session_timeout  5m;  
        #指定使用的ssl协议   
        ssl_protocols  SSLv3 TLSv1;   
        #指定许可的密码描述  
        ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;   
        #SSLv3和TLSv1协议的服务器密码需求优先级高于客户端密码  
        ssl_prefer_server_ciphers   on;   
        location / {
            proxy_set_header   Host             $host;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
            proxy_pass http://www.kite.live;
        }
    }    
    server {
        listen 80;
        server_name     www.kite.live kite.live;
        location / {
            rewrite        ^/(.*)$ https://www.kite.live/$1 permanent;
        }
    }
    server {
        listen 80;
        server_name     pan.kite.live;
        location / {
            rewrite        ^/(.*)$ https://pan.kite.live/$1 permanent;
        }
    }
    
}

 

 

 

 

 

 

展开阅读全文
打赏
2
6 收藏
分享
加载中
更多评论
打赏
0 评论
6 收藏
2
分享
返回顶部
顶部