原创

Nginx如何实现支持HTTPS协议详细说明

    HTTPS是以安全为目标的HTTP通道,简单来说就是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。配置HTTPS协议支持,采用Tomcat和Nginx协同进行安装配置满足工作需要。下面为大家说一说Nginx如何实现支持HTTPS协议。


首先准备工作Tomcat此处省略,Nginx安装时的准备工作如下:

Nginx安装如下插件:

openssl-1.0.2 

pcre-8.21 

zlib-1.2.8

openssl安装时注意一些其他依赖插件如:

libcrypto.a  libcrypto.pc  libssl.a  libssl.pc


准备就绪之后,进行Nginx安装操作,Linux检测安装平台目标特征,执行命令:

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
 --with-http_realip_module --with-openssl=/usr/local/openssl-1.0.2 --with-zlib=/usr/local/zlib-1.2.8


Linux编译并安装命令,具体如下:

编译命令:make

安装命令:make install

清除编译命令:make clean 


生成秘钥文件,Linux下生成秘钥分别执行命令如下:

openssl genrsa -des3 -out ca.key 1024
openssl req -new -key ca.key -out ca.csr
cp ca.key ca.key.orgi
openssl rsa -in ca.key.orgi -out ca.key
openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt


参考参数说明:

Country Name (2 letter code)[XX]:cn--------国家

State or Province Name (full name)[]:yoodb---------省份

Locality Name (eg, city) [DefaultCity]:yoodb--------------地区名字

Organization Name (eg, company)[Default Company Ltd]:yoodb------公司名

Organizational Unit Name (eg,section) []:ning-----部门

Common Name (eg, your name or yourserver's hostname) []:yoodb----CA主机名

Email Address []:---------邮箱

 

Please enter the following 'extra'attributes

to be sent with your certificaterequest

A challenge password []:-----------证书请求密钥,CA读取证书的时候需要输入密码

An optional company name[]:-----------公司名称,CA读取证书的时候需要输入名称


Nginx配置nginx.conf文件,具体如下:

server {
        listen       443 ssl;
        server_name  blog.yoodb.com;
        ssl on;
        ssl_certificate /usr/local/nginx/conf/ssl/ca.crt;
        ssl_certificate_key /usr/local/nginx/conf/ssl/ca.key;
        ssl_session_timeout 5m;
        #    ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
         #   ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
         #   ssl_prefer_server_ciphers on;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            proxy_pass   http://127.0.0.1:8081;
        }
        location /amserver {
            proxy_pass   http://127.0.0.1:8080;
        }
}


部署以及重启 Nginx 操作:

开启 Linux 端口号 443

iptables -A INPUT -p tcp --dport 443 -j ACCEPT

/etc/init.d/iptables status 查看防火墙状态

vim /etc/sysconfig/iptables 编辑防火墙文件

/etc/init.d/iptables restart 重启防火墙

nginx –s reload 重启 Nginx服务器命令

关注下方微信公众号“Java精选”(w_z90110),回复关键字领取资料:如HadoopDubboCAS源码等等,免费领取资料视频和项目。 

涵盖:程序人生、搞笑视频、算法与数据结构、黑客技术与网络安全、前端开发、Java、Python、Redis缓存、Spring源码、各大主流框架、Web开发、大数据技术、Storm、Hadoop、MapReduce、Spark、elasticsearch、单点登录统一认证、分布式框架、集群、安卓开发、iOS开发、C/C++、.NET、Linux、Mysql、Oracle、NoSQL非关系型数据库、运维等。

评论

分享:

支付宝

微信