nginx开启局域网https访问

简介: 【10月更文挑战第22天】为了调试WebRTC功能,需要在局域网内搭建HTTPS协议。具体步骤包括:在已部署Nginx和安装OpenSSL的环境中生成私钥、证书签名请求和自签名证书;将生成的文件放置到Nginx的证书目录并修改Nginx配置文件,最后重启Nginx服务。注意,自签名证书不受第三方机构认可,如需正式使用,需向CA申请签名。

需求

调试webRTC 功能,需要在局域网搭建https发给我协议;

在这里插入图片描述

实现

环境

  • 局域网已部署有nginx;

    部署可参考专栏文章

  • 已安装Openssl

    未安装可以执行 sudo yum install openssl 这个命令进行安装

生成证书和私钥

  • 生成私钥:打开命令提示符或终端窗口,执行以下命令以生成私钥文件:

    openssl genpkey -algorithm RSA -out private.key

    上述命令将生成一个名为 "private.key" 的私钥文件,使用 RSA 算法。

  • 生成证书签名请求(CSR):执行以下命令以生成证书签名请求文件:

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

    上述命令将生成一个名为 "csr.csr" 的证书签名请求文件,其中包含了与私钥相对应的公钥以及其他证书请求相关的信息。在执行此命令时,将被要求提供一些证书信息,例如国家/地区、组织名称、公共名称等;

  • 自签名证书:使用以下命令生成自签名证书,:

    openssl x509 -req -in csr.csr -signkey private.key -out certificate.crt

    上述命令将使用私钥对证书签名请求进行签名,并生成一个名为 "certificate.crt" 的自签名证书文件。

部署

  • 将生成的文件发到etc/nginx/certs文件夹下
  • 在nginx.conf新增以下配置

  server {
        listen       443 ssl http2;
        listen       [::]:443 ssl http2;
        server_name  _;
        ssl_certificate "/etc/nginx/certs/certificate.crt";
        ssl_certificate_key "/etc/nginx/certs/private.key";
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;

    location / {
        root  /home/screen/screen-ui;
        try_files $uri $uri/ /index.html;
        index  index.html index.htm;
    }
location /api {
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://localhost:18080/api;
    }

}

重启nginx

service nginx restart
或者
./nginx -s reload

最后

请注意,自签名证书不会得到受信任的第三方机构的认可。如果需要获得由受信任的证书颁发机构(CA)签名的证书,需要将证书签名请求文件(CSR)提交给 CA,并按照他们的指示进行后续操作。

相关文章
|
14天前
|
安全 网络安全 数据安全/隐私保护
政务内网实现https访问教程
政务内网实现HTTPS访问需经过多个步骤:了解HTTPS原理,选择并申请适合的SSL证书,配置SSL证书至服务器,设置端口映射与访问控制,测试验证HTTPS访问功能,注意证书安全性和兼容性,定期备份与恢复。这些措施确保了数据传输的安全性,提升了政务服务的效率与安全性。
|
10天前
|
安全 网络安全 数据安全/隐私保护
内网IP地址实现HTTPS加密访问教程
在内网环境中,为确保数据传输的安全性,绑定SSL证书搭建HTTPS服务器至关重要。本文介绍了内网IP地址的前期准备、申请SSL证书的步骤以及客户端配置方法。具体包括选择合适的CA、注册账号、提交申请、下载证书,并在客户端导入根证书,确保通信数据的安全加密。推荐使用JoySSL提供的技术解决方案,确保内网设备通信安全。
内网IP地址实现HTTPS加密访问教程
|
1月前
|
应用服务中间件 Shell PHP
windows系统配置nginx环境运行pbootcms访问首页直接404的问题
windows系统配置nginx环境运行pbootcms访问首页直接404的问题
|
1月前
|
安全 应用服务中间件 Shell
nginx配置https的ssl证书和域名
nginx配置https的ssl证书和域名
|
1月前
|
存储 网络安全 对象存储
缺乏中间证书导致通过HTTPS协议访问OSS异常
【10月更文挑战第4天】缺乏中间证书导致通过HTTPS协议访问OSS异常
86 4
|
1月前
|
Docker 容器
docker nginx-proxy 添加自定义https网站
docker nginx-proxy 添加自定义https网站
34 4
|
1月前
|
存储 缓存 安全
https访问提示不安全,证书密钥验证上如何解决
【10月更文挑战第4天】访问提示不安全,证书密钥验证上如何解决
254 2
|
1月前
|
编解码 JSON 安全
使用search-guard加固安全为https访问
使用search-guard加固安全为https访问
|
6月前
|
弹性计算 应用服务中间件 Apache
ECS配置问题之输入ip无法访问如何解决?
ECS配置指的是对阿里云Elastic Compute Service(弹性计算服务)实例的硬件和软件资源进行设置的过程;本合集将详述如何选择合适的ECS配置、调整资源配比以及优化实例性能,以满足不同应用场景的需求。
|
Java 应用服务中间件 网络安全
Tomcat配置ssl协议及遇到的问题https页面无法访问
Tomcat配置ssl协议及遇到的问题https页面无法访问