最近在负责一个APP的服务端接口开发,在架构的时候,遇到一个需求,希望服务器与客户端之间传输内容是加密的,防止中间监听泄露信息,但是去证书服务商那边申请证书又不合算,所以自己给自己颁发证书,不需要管浏览器的不信任警报。下面是颁发证书和配置过程。
首先确保机器上安装了openssl和openssl-devel
#yum install openssl #yum install openssl-devel
然后就是自己颁发证书给自己
#cd /usr/local/nginx/conf #openssl genrsa -des3 -out server.key 1024 #openssl req -new -key server.key -out server.csr #openssl rsa -in server.key -out server_nopwd.key #openssl x509 -req -days 365 -in server.csr -signkey server_nopwd.key -out server.crt
至此证书已经生成完毕,下面就是配置nginx
server { listen 443; ssl on; ssl_certificate /usr/local/nginx/conf/server.crt; ssl_certificate_key /usr/local/nginx/conf/server_nopwd.key; }
然后重启nginx即可。