首页 > 系统相关 >十二、Nginx配置SSL证书

十二、Nginx配置SSL证书

时间:2023-09-12 14:03:26浏览次数:54  
标签:index 配置 ssl 证书 server Nginx HTTPS SSL

随着越来越多的网站接入HTTPS,因此Nginx中仅配置HTTP还不够,往往还需要监听443端口的请求,HTTPS为了确保通信安全,所以服务端需配置对应的数字证书,当项目使用Nginx作为网关时,那么证书在Nginx中也需要配置,接下来简单聊一下关于SSL证书配置过程:

①先去CA机构或从云控制台中申请对应的SSL证书,审核通过后下载Nginx版本的证书。

②下载数字证书后,完整的文件总共有三个:.crt、.key、.pem

  • .crt:数字证书文件,.crt.pem的拓展文件,因此有些人下载后可能没有。
  • .key:服务器的私钥文件,及非对称加密的私钥,用于解密公钥传输的数据。
  • .pemBase64-encoded编码格式的源证书文本文件,可自行根需求修改拓展名。

③在Nginx目录下新建certificate目录,并将下载好的证书/私钥等文件上传至该目录。

④最后修改一下nginx.conf文件即可,如下:

# ----------HTTPS配置-----------  
server {  
    # 监听HTTPS默认的443端口  
    listen 443;  
    # 配置自己项目的域名  
    server_name www.xxx.com;  
    # 打开SSL加密传输  
    ssl on;  
    # 输入域名后,首页文件所在的目录  
    root html;  
    # 配置首页的文件名  
    index index.html index.htm index.jsp index.ftl;  
    # 配置自己下载的数字证书  
    ssl_certificate  certificate/xxx.pem;  
    # 配置自己下载的服务器私钥  
    ssl_certificate_key certificate/xxx.key;  
    # 停止通信时,加密会话的有效期,在该时间段内不需要重新交换密钥  
    ssl_session_timeout 5m;  
    # TLS握手时,服务器采用的密码套件  
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;  
    # 服务器支持的TLS版本  
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;  
    # 开启由服务器决定采用的密码套件  
    ssl_prefer_server_ciphers on;  
  
    location / {  
        ....  
    }  
}  
  
# ---------HTTP请求转HTTPS-------------  
server {  
    # 监听HTTP默认的80端口  
    listen 80;  
    # 如果80端口出现访问该域名的请求  
    server_name www.xxx.com;  
    # 将请求改写为HTTPS(这里写你配置了HTTPS的域名)  
    rewrite ^(.*)$ https://www.xxx.com;  
}

OK~,根据如上配置了Nginx后,你的网站即可通过https://的方式访问,并且当客户端使用http://的方式访问时,会自动将其改写为HTTPS请求。推荐:Java面试题

标签:index,配置,ssl,证书,server,Nginx,HTTPS,SSL
From: https://blog.51cto.com/yangshaoping/7445074

相关文章

  • 儿童产品上架亚马逊CPC证书测试标准有哪些?CPC证书常用测试标准大全,CPSC总共公布了38个
    儿童产品上架亚马逊CPC证书测试标准有哪些?CPC证书常用测试标准大全,CPSC总共公布了38个标准在亚马逊美国站,上架与儿童相关的产品,包括玩具、婴童用品等,会被要求出CPC证书,否则将面临产品被下架、货款被扣留、被起诉等风险!CPC认证CPC认证就是儿童产品安全证书(Children’sProductCerti......
  • Nginx配置文件详细说明
    在此记录下Nginx服务器nginx.conf的配置文件说明,部分注释收集与网络.#运行用户userwww-data;#启动进程,通常设置成和cpu的数量相等worker_processes1;#全局错误日志及PID文件error_log/var/log/nginx/error.log;pid/var/run/nginx.pid;#工作模式及连接数上......
  • Nginx安装部署
    Nginx("enginex") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 IgorSysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、......
  • docker-compose 报错:ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+
    没有解决问题的操作wgethttps://www.openssl.org/source/openssl-1.1.1v.tar.gztar-zxvfopenssl-1.1.1v.tar.gzcdopenssl-*./config--prefix=/usr/local/ssl--openssldir=/usr/local/sslsharedmakesudomakeinstallecho"/usr/local/ssl/lib"|sudotee/e......
  • 通配符ssl证书的作用有哪些?为什么通配符ssl证书如此受欢迎?
    随着互联网安全问题日益突出,加之主流浏览器声明网站部署SSL证书,有助于提升网站排名,因此SSL证书成为了企业网络安全防护不可缺少的一环。SSL证书种类多样,其中通配符SSL证书颇受当下企业青睐,申请比例逐年上升。为何通配符SSL证书如此受欢迎呢?请跟着小编一起往下看。什么是通配符SSL证......
  • windows 编译openssl
    1、downloadthelatestsourceofopensslfromgithub2、downloadnasm,settheenviromentviariable3、enterintodir C:\ProgramFiles(x86)\MicrosoftVisualStudio\2019\Enterprise\VC\Auxiliary\Buildvcvars64.bat4、enterintothedirof openssl,runtheco......
  • linux服务器上的nginx服务、mysql服务和docker里面的php服务配合使用
    之前有个老项目是nginx1.22.0+mysql5.7+php5.6的环境在跑,也就是常说的lnmp环境。但是最近出了一个新的需求,这台服务器上要跑一个php7.3的项目,mysql5.7还可以用,nginx1.22.0也可以用,主要是php的环境要升级到7.3,那么方案应该怎么实施呢,大概有下面几个思路:1、再独立安装一个php7.3的......
  • 国内项目管理中级证书CSPM-3正在报名!
    CSPM-3中级项目管理专业人员认证,是中国标准化协会(全国项目管理标准化技术委员会秘书处),面向社会开展项目管理专业人员能力的等级证书。旨在构建多层次从业人员培养培训体系,建立健全人才职业能力评价和激励机制的要求,培养我国项目管理领域复合型人才。  2023年9月6日,中国标准化协会......
  • 【黄啊码】nginx如何设置php运行的
    禁止访问PHP脚本可以通过Nginx服务器配置中的多种方式来实现。以下是其中的一些常见方法,您可以根据实际需求选择合适的方式:1 禁用PHP解析:在Nginx配置中,确保PHP脚本无法被解析,从而禁止PHP执行。location ~ \.php$ {   deny all;}2 限制访问路径:限制只允许......
  • Docker nginx 配置 SSL 证书 cannot load certificate
    错误原因分析:cannotloadcertificate"/etc/nginx/test.com.crt":BIO_new_file()failed(SSL:error:02001002:systemlibrary:fopen:Nosuchfileordirectory:fopen('/etc/nginx/test.com.pem','r')error:2006D080:BIOroutines:BIO_new_file......