Nginx使用SSL模块配置HTTPS服务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx使用SSL模块配置HTTPS服务相关的知识,希望对你有一定的参考价值。


一、环境介绍:

    1、nginx服务器(系统:CentOS6.5)

    2、已经授权的证书:

      证书包括:

       a、Cert.csr 

       b、Server.key

    证书申请https://www.wosign.com/

(如果无法提供收费证书也可以使用自定义证书,详细步骤以下:)

    a、创建服务器私钥

# openssl genrsa -des3 -out Server.key 1024

    b、创建签名请求的证书(CSR):

# openssl req -new -key Server.key -out Cert.csr

    c、在加载SSL支持的Nginx并使用上述私钥时必须除去口令

# cp Server.key Server.key.org
# openssl rsa -in Server.key.org -out Server.key


二、Nginx部署

    1、上传证书

    # yum -y install lrzsz
   # cd /etc/nginx
   # mdir cert && cd cert
   # rz


    2、配置Nginx

    # openssl x509 -req -days 365 -in Cert.csr -signkey Server.key -out Cert.crt
   # cd /etc/nginx/conf.d/
   # vim default.conf        # 在server模块中添加##号中的信息:
   server{
       listen       80 default_server;
       listen       [::]:80 default_server;
       root         /usr/share/nginx/html;
   ##################### The Web Server Certer ################
       server_name localhsot;
       listen      443;
       ssl on;
       ssl_certificate /etc/nginx/Cert/Cert.crt;
       ssl_certificate_key /etc/nginx/Cert/Server.key;
   ############################################################
   # Load configuration files for the default server block.
   include /etc/nginx/default.d/*.conf;
   }


三、测试:

   1、重启Nginx服务:  

# server nginx restart


   2、使用浏览器访问

https://YouDomainName


附:

   以下为在此过程中可能会遇到的问题及解决方法:

    Q1

    启动Nginx时出现报错信息:

# service nginx restart

nginx: [emerg] PEM_read_bio_X509_AUX("/etc/nginx/Cert/certreq.csr") failed (SSL: error:0906D06C:PEM routines:PEM_read_bio:no start line:Expecting: TRUSTED CERTIFICATE)
nginx: configuration file /etc/nginx/nginx.conf test failed

    解决方法:

# openssl x509 -req -days 365 -in certreq.csr -signkey server.key -out certreq.crt
# vim  /etc/nginx/conf.d/default.conf

##### 确认以下信息是否正确,特别注意两个证书名称 ####
ssl_certificate /etc/nginx/Cert/Cert.crt;
ssl_certificate_key /etc/nginx/Cert/Server.key;


至此Nginx的HTTPS服务已经全部部署完毕,如有问题请回复留言!谢谢!

本文出自 “Elephant” 博客,请务必保留此出处http://zlyang.blog.51cto.com/1196234/1890677

以上是关于Nginx使用SSL模块配置HTTPS服务的主要内容,如果未能解决你的问题,请参考以下文章

Nginx配置https

Nginx使用ssl模块配置HTTPS支持

配置nginx支持https

如何让nginx使用ssl模块支持https的方法

nginx如果未开启SSL模块,配置https时提示错误

nginx配置https