首页 > 系统相关 >如何使用『Nginx』配置后端『HTTPS』协议访问

如何使用『Nginx』配置后端『HTTPS』协议访问

时间:2023-09-03 18:33:50浏览次数:184  
标签:crt ssl Nginx 访问 IP 证书 SSL HTTPS nginx

前言

本篇博客主要讲解如何使用 Nginx 部署后端应用接口 SSL 证书,从而实现 HTTPS 协议访问接口(本文使用公网 IP 部署,读者可以自行替换为域名)

申请证书

须知

请在您的云服务平台申请 SSL 证书,一般来说证书期限为一年,到期限需要再次申请

博主这里使用的是阿里云云服务器,阿里云每年可以免费申请 20 个 DigiCert SSL 证书,但是 DigiCert 证书不支持绑定 IP,如果您输入 IP,则会弹出如下错误

Globalsign、GeoTrust、vTrus、CFCA品牌OV单域名证书支持绑定IP,建议您购买Globalsign品牌的证书

这里说明下使用公网 IP 申请证书的情况,我们知道一般来说 SSL 证书只是供域名安装,仅有部分 DV 和 OV 证书是支持 IP 部署的,接下来将要讲解可以使用 IP 部署的免费证书申请步骤

如果是部署【域名】的话可以在自己的云服务厂商下面申请并部署,一般都有免费的额度,对于个人来说足够,比较方便

申请步骤

访问:Free SSL Certificates and SSL Tools - ZeroSSL

image-20230902212015167

image-20230902212242409

image-20230902212448814

然后选择 90 天的证书,一直确定即可,然后按照流程,DNS 验证或是 HTTP 文件验证即可,下面使用 HTTP 文件验证方式作为示例

选择 Download Auth File 并将 Auth File 存放在服务器的 /usr/share/nginx/html/.well-known/pki-validation 文件夹下,令服务器上的 nginx 提供对 Auth File 的HTTP访问的响应

        location /.well-known/pki-validation/ {
           root /usr/share/nginx/html/;
        }

没有必要一定是上面这个目录,只要保证 nginx 具有该目录的操作权限即可,否则会爆出 403 错误

image-20230902224803941

然后按照官方给出的 Nginx 部署证书文档部署即可

上传所有 SSL 证书文件之后,需要合并 certificate.crt 和 ca_bundle.crt 文件

cat certificate.crt ca_bundle.crt >> certificate_merge.crt

证书配置

现在服务器的 8080 端口已经运行了后端接口,下面我将要部署 SSL 证书到公网 IP 上

配置 nginx.conf

    server {
        listen       443 ssl http2 default_server;
        listen       [::]:443 ssl http2 default_server;
        server_name  _;

        ssl_certificate "/home/dev/certs/certificate_merge.crt";
        ssl_certificate_key "/home/dev/certs/private.key";

        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers PROFILE=SYSTEM;
        ssl_prefer_server_ciphers on;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
          proxy_pass  http://localhost:8080/;
          proxy_set_header           Host $host;
          proxy_set_header  X-Real-IP  $remote_addr;
          proxy_set_header           X-Forwarded-For       $proxy_add_x_forwarded_for;
          client_max_body_size  100m;
        }
    }
# 重启 Nginx
systemctl restart nginx.service

证书分类

域名型证书 (DV)

SSL证书是只验证网站域名所有权的简易型(Class 1级)SSL证书,可10分钟快速颁发,能起到加密传输的作用,但无法向用户证明网站的真实身份。

目前市面上的免费证书都是这个类型的,只是提供了对数据的加密,但是对提供证书的个人和机构的身份不做验证。

组织/企业型证书 (OV)

用于验证此域名由特定公司、组织、或者机构所拥有,同时申请的主体身份符合合法注册或者受权威机构承认的实体。

提供加密功能,对申请者做严格的身份审核验证,提供可信身份证明,和DV SSL的区别在于,OV SSL 提供了对个人或者机构的审核,能确认对方的身份,安全性更高。一般为收费证书

增强型证书 (EV)

Extended Validation (EV) 证书是目前最高信任级别的 SSL 证书。证书颁发机构对此的审核极其严苛。增强型证书具有最高级别可信度及安全性,显示带公司名称的绿色地址栏是它的显著特点之一,它可以让访问者更加确信以及更加放心的相信他们所进行交易的网站是真实合法的,从而提升在线交易量。

金融证券、银行、第三方支付、网上商城等,重点强调网站安全、企业可信形象的网站,涉及交易支付、客户隐私信息和账号密码的传输。这部分的验证要求最高,申请费用也是最贵的。

标签:crt,ssl,Nginx,访问,IP,证书,SSL,HTTPS,nginx
From: https://blog.51cto.com/returntmp/7342104

相关文章

  • HTTP和HTTPS的区别
    1、https协议需要到CA申请证书,一般免费证书较少,因而需要一定费用。2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HT......
  • Springboot项目打成jar包,如何设置存储路径?并且上传的静态文件如何访问?
    第一步设置资源资源存储路径找到需要保存指定文件路径添加以下代码//保存上传的资源文件路径,路径在部署jar包同级目录。Stringpath=System.getProperty("user.dir")+"/static/images/";Filedir=newFile(path);if(!dir.exists()){dir.mkdirs();}......
  • 如何搭建虚拟专有网络访问公司内网
    前言因为公司开发都是内网环境,以往居家办公或非公司环境,都需要进行远程到公司电脑进行办公,为了方便部门同事出差驻场开发,搭建了虚拟专有网络在实际搭建过程中使用了OpenVPN和SoftEtherVPN两种方式,做个总结记录,个人还是更推荐SoftEtherVPN,有可视化界面,配置简单以下操作中服务端指......
  • 泛微E-Office UserSelect未授权访问漏洞
    漏洞描述泛微OAE-OfficeUserSelect接口存在未授权访问漏洞,通过漏洞攻击者可以获取敏感信息漏洞复现fofa语法:app="泛微-EOffice"登录页面如下:POC:/UserSelect/nuclei批量yaml文件id:EOffice_UserSelect_unauthinfo:name:泛微OAE-OfficeUserSelect未授权访问漏洞......
  • docker 使用Nginx反向代理配置
    dockerexec-itnginxbash#进入nginx容器容器里面需要安装Vimapt-getupdate#这个命令的作用是:同步/etc/apt/sources.list和/etc/apt/sources.list.d中列出的源的索引,这样才能获取到最新的软件包。apt-getinstall-yvim查看Nginx配置文件cdetc/nginx......
  • nginx优化相关
    https://blog.csdn.net/liuxiao723846/article/details/46862381Nginx反向代理,当后端为Https时的一些细节和原理_nginx反向代理https_赶路人儿的博客-CSDN博客 nginx-寒星12345678999-博客园(cnblogs.com)......
  • C#访问SQLite完整增删改查代码
    文章转载自:https://wobushixiaohai.blog.csdn.net/article/details/117804179?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-117804179-blog-103633083.235%5Ev38%5Epc_relevant_anti_vip_base&depth_1-u......
  • NAT网关有什么功能(局域网内多个IP设备通过同一个公共IP地址来访问Internet)
    网络地址转换(NAT)是一种能够将私有IP地址转换为公共IP地址以访问互联网的技术。其原因在于IPv4地址资源基本开发完全,通过NAT技术可以实现多台设备在局域网内使用相同的公共IP地址访问互联网,或是通过互联网访问到这些局域网内的设备。NAT网关(网段隔离器)是专用于私有IP地址和公共IP地......
  • Nginx 平滑升级
    目录一、playbooks概述1.playbook简介2.playbook使用场景3.playbooks的组成4.yaml基本语法规则5.yaml关键字6.yaml支持的数据结构(1)对象(Mapping)(2)数组(Sequence)(3)纯量(Scalar)二、playbook操作示例1.示例:安装Apache服务2.示例:定义、引用变量3.示例:指定远程主机sudo......
  • linux普通用户赋予USB设备访问权限
    新建规则文件,GROUP表示用户组.id查看用户$iduid=1000(huanhe)gid=1000(huanhe)组=1000(huanhe)$cat/etc/udev/rules.d/xxx_printer.rulesSUBSYSTEM=="usb",ATTRS{idVendor}=="0016",MODE="0666"SUBSYSTEM=="usb_device",ATTRS{idVe......