Nginx配置SSL实现Https访问

送分小仙女□ 提交于 2020-04-14 10:53:12

【推荐阅读】微服务还能火多久?>>>

生成证书   

(1) 首先在 nginx安装目录中创建ssl文件夹用于存放证书。比如我的文件目录为 /opt/SSL。进入ssl文件夹。 命令为: cd  /opt/SSL

(2) 创建私钥

  在命令行中执行命令:

openssl genrsa -des3 -out sonic.key 1024

    (sonic文件名可以自定义),如下图所示:

输入密码后,再次重复输入确认密码。记住此密码,后面会用到。

(3) 创建csr证书,在命令行中执行命令:  

openssl req -new -key sonic.key -out sonic.csr 

   (key文件为刚才生成的文件,sonic为自定义文件名)

如上图所示,执行上述命令后,需要输入信息。
输入的信息中最重要的为 Common Name,这里输入的域名即为我们要使用https访问的域名。 以上步骤完成后,ssl文件夹内出现两个文件:

(4)去除密码。

     在加载SSL支持的Nginx并使用上述私钥时除去必须的口令,否则会在启动nginx的时候需要输入密码。

     复制sonic.key并重命名为sonic.key.org 

     可以使用此命令行,也可以使用鼠标操作  

  cp -r sonic.key sonic.key.org

     去除口令,在命令行中执行此命令:  

openssl rsa -in sonic.key.org -out sonic.key

 (sonic为自定义文件名)

     如下图所示,此命令需要输入刚才设置的密码。

 

(5)生成crt证书

     在命令行中执行此命令: 

openssl x509 -req -days 365 -in sonic.csr -signkey sonic.key -out sonic.crt

 (sonic为自定义文件名)

  证书生成完毕,SSL文件夹中一共生成如下4个文件,我们需要使用到的是sonic.crt和sonic.key。

此时,证书已生成完毕。
只需要在nginx.conf中配置即可。

配置信息参考:

#server中添加

listen       443 ssl;
		
		server_name 1spansonic.com.cn;			
		ssl_certificate     /opt/SSL/sonic.crt;
		
		ssl_certificate_key /opt/SSL/sonic.key;
		
		
		ssl_session_cache    shared:SSL:1m;
		ssl_session_timeout  5m;
		
		server_tokens off;    # 关闭(显示)Nginx 版本号。
		keepalive_timeout 70;  # 设置客户端连接保持活动的超时时间。
		
		ssl_ciphers  HIGH:!aNULL:!MD5;
		ssl_prefer_server_ciphers  on;

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!