Nginx配置SSL证书部署HTTPS网站的方法(颁发证书)

 更新时间:2018年06月05日 10:31:42   作者:孔唯妍  
这篇文章主要介绍了Nginx配置SSL证书部署HTTPS网站的方法(颁发证书),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

自行颁发不受浏览器信任的SSL证书

手动颁发

xshell登录服务器,使用openssl生成RSA密钥及证书

# 生成一个RSA密钥 
$ openssl genrsa -des3 -out tfjybj.key 1024

# 拷贝一个不需要输入密码的密钥文件
$ openssl rsa -in dmsdbj.key -out tfjybj_nopass.key

# 生成一个证书请求
$ openssl req -new -key tfjybj.key -out tfjybj.csr

 这里会提示输入省份、城市、域名等信息,email得是域名后缀。这样就生成一个csr文件,提交给ssl提供商的时候就是这个csr文件。

 (这里由于我没有截图,所以从网上找了一个图片,需要替换的是下面的33iq,换成tfjybj)

中间输入密码的时候,没有什么显示,不过就那么输入就好

# 自己签发证书
$ openssl x509 -req -days 365 -in tfjybj.csr -signkey tfjybj.key -out tfjybj.crt

把生成的证书放到nginx配置文件同级目录;

nginx配置

编辑nginx配置文件 nginx.conf,加https协议

server {
  server_name tfjybj.com;
  listen 443;
  ssl on;
  ssl_certificate /usr/local/nginx/conf/tfjybj.crt;
  ssl_certificate_key /usr/local/nginx/conf/tfjybj_nopass.key;
  # 若ssl_certificate_key使用tfjybj.key,则每次启动Nginx服务器都要求输入key的密码。
  (开始我不知道,纳闷为啥启动nginx、关闭nginx都要输入密码)
}

重启Nginx

自己颁发的SSL证书能够实现加密传输功能,但浏览器并不信任,会给出提示:

通过第三方颁发证书–阿里云

颁发证书

登录阿里云管理控制台,【云盾】菜单选择【证书服务】,选择购买证书;

我弄得免费版的做的测试,申请之后,经过一两天的审核,然后就可以下载证书了。下载解压后是两个文件,一个key结尾,私钥,一个是pem结尾,是公钥;

配置nginx

文件说明:

证书文件”申请的证书名字.pem”,包含两段内容,请不要删除任何一段内容。

如果是证书系统创建的CSR,还包含:证书私钥文件”申请的证书名字.key”。

( 1 ) 在Nginx的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为”申请的证书名字.key”;

( 2 ) 打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,找到:

# HTTPS server
# #server {
# listen 443;
# server_name localhost;
# ssl on;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_timeout 5m;
# ssl_protocols SSLv2 SSLv3 TLSv1;
# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
# ssl_prefer_server_ciphers on;
# location / {
#
#
#}
#}

( 3 ) 将其修改为 (以下属性中ssl开头的属性与证书配置有直接关系,其它属性请结合自己的实际情况复制或调整) :

server { 
listen 443; 
server_name localhost; 
ssl on; 
root html; 
index index.html index.htm; 
ssl_certificate cert/申请的证书名字.pem; 
ssl_certificate_key cert/申请的证书名字.key; 
ssl_session_timeout 5m; 
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; 
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
ssl_prefer_server_ciphers on; 
location / { 
root html; 
index index.html index.htm; 
} 
} 

保存退出。

( 4 )重启 Nginx。

( 5 ) 通过 https 方式访问您的站点

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 学习nginx基础知识

    学习nginx基础知识

    这篇文章主要介绍了nginx基础知识,文中运用了大量的图片和代码进行讲解,对相关知识感兴趣的小伙伴可以参考一下这篇文章
    2021-09-09
  • nginx实现ip限流的具体示例

    nginx实现ip限流的具体示例

    限流的方式油很多种,本文主要介绍了nginx实现ip限流的具体示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-07-07
  • Filebeat 采集 Nginx 日志的方法

    Filebeat 采集 Nginx 日志的方法

    这篇文章主要介绍了Filebeat 采集 Nginx 日志的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • Nginx配置PATHINFO隐藏thinkphp index.php

    Nginx配置PATHINFO隐藏thinkphp index.php

    这篇文章主要介绍了Nginx配置PATHINFO隐藏thinkphp index.php,本文直接给出配置示例,需要的朋友可以参考下
    2015-07-07
  • Nginx隐藏版本号的方法

    Nginx隐藏版本号的方法

    这篇文章主要介绍了Nginx隐藏版本号的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • LNMP 解决Access Denied错误详细介绍

    LNMP 解决Access Denied错误详细介绍

    这篇文章主要介绍了LNMP 解决Access Denied错误详细介绍的相关资料,需要的朋友可以参考下
    2016-10-10
  • 一文详解Nginx的访问限制与访问控制

    一文详解Nginx的访问限制与访问控制

    访问限制是一种防止恶意访问的常用手段,可以指定同一IP地址在固定时间内的访问次数,访问控制是控制客户端对服务端的访问,并非仅限制请求次数,而是允许某些请求或者直接拒绝某些请求,本文给大家具体介绍了Nginx的访问限制与访问控制,需要的朋友可以参考下
    2024-09-09
  • Nginx中的主要应用场景解读

    Nginx中的主要应用场景解读

    这篇文章主要介绍了Nginx中的主要应用场景解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • nginx添加ssl模块的方法教程

    nginx添加ssl模块的方法教程

    这篇文章主要给大家介绍了关于nginx添加ssl模块的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习许吧。
    2017-12-12
  • 解读nginx中limit配置参数

    解读nginx中limit配置参数

    这篇文章主要介绍了nginx中limit配置参数的详细作用,希望我们整理的内容能帮助到你,一起学习下吧。
    2018-01-01

最新评论