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,并按照他们的指示进行后续操作。

相关文章
|
6天前
|
安全 网络安全 数据安全/隐私保护
政务内网实现https访问教程
政务内网实现HTTPS访问需经过多个步骤:了解HTTPS原理,选择并申请适合的SSL证书,配置SSL证书至服务器,设置端口映射与访问控制,测试验证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异常
62 4
|
1月前
|
Docker 容器
docker nginx-proxy 添加自定义https网站
docker nginx-proxy 添加自定义https网站
30 4
|
1月前
|
存储 缓存 安全
https访问提示不安全,证书密钥验证上如何解决
【10月更文挑战第4天】访问提示不安全,证书密钥验证上如何解决
183 2
|
1月前
|
编解码 JSON 安全
使用search-guard加固安全为https访问
使用search-guard加固安全为https访问
|
2月前
|
Ubuntu 应用服务中间件 数据库
Nginx配置:阻止非国内IP地址访问的设置方法
此外,出于用户隐私和法律合规性的考虑,应慎重考虑阻止特定国家或地区IP地址的决策。在某些情况下,这可能被视为歧视性或违反当地法律。
128 2
|
2月前
|
监控 安全 搜索推荐
设置 HTTPS 协议以确保数据传输的安全性
设置 HTTPS 协议以确保数据传输的安全性
|
1月前
|
安全 网络协议 算法
HTTPS网络通信协议揭秘:WEB网站安全的关键技术
HTTPS网络通信协议揭秘:WEB网站安全的关键技术
139 4
HTTPS网络通信协议揭秘:WEB网站安全的关键技术