基于nginx与OpenSSL实现https访问

青春壹個敷衍的年華 提交于 2019-11-29 19:34:40

注意!!首先在nginx安装时添加--with-http_ssl_module模块,否则将会报错,只能从头开始了

自建证书:

通过openssl命令(软件包:openssl ;openssl-devel

1)创建私钥:

openssl genrsa -out server.key 1024

2)证书请求:

openssl req -new -out server.csr -key server.key       //填写信息,注意!!将Common Name (eg, your name or your server's hostname行填写成服务器的IP地址)

3)自签署证书:

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

4)将证书变成浏览器支持的.p12格式

openssl pkcs12 -export -clcerts -in server.crt -inkey server.key -out server.p12

修改nginx配置文件

 

server {
listen 80;

 

listen 443 default ssl;  //这样可以设置一个虚拟主机同时支持HTTP和HTTPS

server_name localhost;  //由于我是根据IP访问,所以这里不做修改

 

ssl_certificate /root/server.crt;  //指定证书文件
ssl_certificate_key /root/server.key;  //指定密钥文件

 

ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;  //指定密码为openssl支持的格式

 

ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

  location {

    略

  }

}

 

将自建证书加入到浏览器中(以Chrome为例)

路径:设置-设置-设置-高级-隐私设置和安全性-管理证书-导入

注意,这时候可能还会提示安全问题,点击 高级,选择继续即可进入

 

 

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