内网环境下nginx使用自签名ssl证书配置https请求

这篇具有很好参考价值的文章主要介绍了内网环境下nginx使用自签名ssl证书配置https请求。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、安装Openssl

nginx有openssl 命令,没有的自行百度,我配置的nginx是存在的所以没查这部分

二、生成密钥

可以在本地生成然后把文件拷贝到服务器,也可以直接在服务器指定目录生成,我选择的后者。

应该是哪个目录都可以,只要在nginx.conf文件中引入正确地址就可以

我的配置文件目录为 /etc/nginx/nginx.conf,配置文件放在了 /etc/nginx/ssl/文件夹下

1、openssl genrsa -des3 -out *.key 2048

2、openssl req -new -key *.key -out *.csr

3、openssl rsa -in *.key -out *_nopass.key

4、openssl req -new -x509 -days 3650 -key *_nopass.key -out *.crt

(说明:*是你自己起的文件名,第一个文件会提示设个密码,必须是4位,后面会用到这个密码。
第二个文件需要提供一些参数,像国家、省市、公司、域名等,如果不在意的话直接回车不输入。
总共会生成四个文件。)

例如:
1、openssl genrsa -des3 -out serverSSL.key 2048
2、openssl req -new -key serverSSL.key -out serverSSL.csr
3、openssl rsa -in serverSSL.key -out serverSSL_nopass.key
4、openssl req -new -x509 -days 3650 -key serverSSL_nopass.key -out serverSSL.crt

该步骤参考:
作者:jackmanzhang
链接:https://www.jianshu.com/p/3c694b021536

注意:key值有的帖子写1024,这里一定要是2048,我刚开始时写的是1024结果报错,大概意思是key值太低?不太懂,反正重新用2048就好了。

生成文件:nginx配置ssl访问报错net::err_cert_authority_invalid,vue3,nginx,https,运维

 三、配置nginx

坑一:配置完成后,输入域名可以访问,但是没有css样式,最坑的是谷歌浏览器居然没有任何报错信息,换成火狐浏览器后才看到下图的报错信息

nginx配置ssl访问报错net::err_cert_authority_invalid,vue3,nginx,https,运维

完整 nginx.conf 配置

http{
   server {
        listen 443 ssl;
        server_name 192.168.2.6; #这里也可以用你的域名
        include mime.types;  #解决坑一

        #这两行是必须的,文件就是上一步生成的文件,路径要写对  
        ssl_certificate /etc/nginx/ssl/serverSSL.crt;
        ssl_certificate_key /etc/nginx/ssl/serverSSL_nopass.key;
        
        #下面这5行注释掉也正常,不知道什么作用
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout 5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
        error_page   500 502 503 504  /50x.html;

        #访问的项目地址
        location /{
            root  /var/www/html;
            index index.html index.htm;
        }
    }
    server{
          listen 80;
          server_name 192.168.2.6;
          #浏览器地址输入192.168.2.6重定向到https://192.168.2.6
          rewrite ^(.*)$ https://192.168.2.6 permanent; #http转https
    }
}

配置完成后重启nginx:

nginx -s reload

 四、后端接口也要改成https,否则可能会报以下错误

1、Failed to load resource: net::ERR_CONNECTION_REFUSED

2、已拦截跨源请求:同源策略禁止读取位于 http://192.168.2.12:8090/app/getVersion 的远程资源。(原因:CORS 头缺少 'Access-Control-Allow-Origin')。状态码:400。

3、已阻止载入混合活动内容“http://192.168.2.12:8090/app/getVersion”

4、Mixed Content: The page at 'https://192.168.2.11:8080/#/' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://192.168.2.12:8090/app/getVersion'. This request has been blocked; the content must be served over HTTPS.

后端接口不改好像也可以实现,但是我没有成功,不知道哪里的问题

五、前端设置

index.html 的head中加上

<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

vue.config.js 中加上  https:true

nginx配置ssl访问报错net::err_cert_authority_invalid,vue3,nginx,https,运维

六、访问

一切设置好后访问时依旧报错:

GET https://192.168.2.12:8090/app/getVersion net::ERR_CERT_AUTHORITY_INVALID

解决方法:在network中双击报错的接口,出现下图2,点高级-继续前往,然后返回刷新就好了。

目前只知道这样能解决,但是不知道能不能避免第一次访问时的这一种情况 ,后续有解决办法再更新

nginx配置ssl访问报错net::err_cert_authority_invalid,vue3,nginx,https,运维

nginx配置ssl访问报错net::err_cert_authority_invalid,vue3,nginx,https,运维文章来源地址https://www.toymoban.com/news/detail-813149.html

到了这里,关于内网环境下nginx使用自签名ssl证书配置https请求的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Nginx中实现自签名SSL证书生成与配置

    (1)生成私钥(Private Key):使用 OpenSSL 工具生成一个私钥文件,用于加密和解密传输的数据。 (2)生成证书签名请求(Certificate Signing Request,CSR):使用 OpenSSL 工具生成一个 CSR 文件,其中包含你的服务器公钥和相关的信息,以便用于生成证书。 (3)自签名证书生成:使

    2024年02月09日
    浏览(46)
  • 配置https---Nginx认证ssl证书

    nginx作为前端的负载均衡服务器已经很熟悉了,项目需要使用https安全的时候就需要认证证书了 dockerweb管理工具 Portainer 如果对docker不那么熟悉可以使用docker 第三方管理端 然后访问本地9000端口,登录后可以管理容器镜像 有了该工具可以直接进入容器查看日志等操作 nginx环境安装

    2024年01月19日
    浏览(50)
  • Nginx配置ssl证书实现https安全访问

    目录 一、Nginx的安装与配置 安装步骤 二、SSL证书获取 三、Nginx配置 前题条件,拥有服务器与可以解析到该服务器的自己的域名。 若已安装好了Nginx,则需查看自己的Nginx是否开启了SSL的模块功能:  显示如上,则代表ssl功能已开启,否则可能出现以下错误提示: nginx: [emer

    2024年02月15日
    浏览(38)
  • 配置SSL证书后,Nginx的HTTPS 不能正常

    申请ssl证书,配置nginx支持https与证书,可是访问https的nginx总是出现错误,也导致小程序发https请求失败,这是什么原因呢? 如果在配置SSL证书后,Nginx的HTTPS无法正常工作,可能有以下几个常见原因: 1、证书配置错误: 证书文件路径出现错误或不存在;文件格式错误;证书

    2024年02月03日
    浏览(43)
  • SpringBoot + Vue2项目打包部署到服务器后,使用Nginx配置SSL证书,配置访问HTTP协议转HTTPS协议

    配置nginx.conf文件,这个文件一般在/etc/nginx/...中,由于每个人的体质不一样,也有可能在别的路径里,自己找找... 证书存放位置,可自定义存放位置 两个文件 后端配置 把.pfx拷贝到resource下,然后配置一下yml

    2024年02月02日
    浏览(70)
  • Linux nginx实现访问,配置ssl证书实现https访问

    注意:服务器需要开通80端口 (1)alias: alias指定的路径是location的别名,不管location的值怎么写,资源的 真实路径都是 alias 指定的路径 例如:同样请求 http://xxx.com/upload/top.gif 时,在服务器查找的资源路径是: /www/wwwroot/upload/top.gif (2)root:真实的路径是root指定的值加上

    2024年02月01日
    浏览(53)
  • 关于Nginx配置SSL证书(Https)和WebSocket的wss

    一. 生成SSL自签证书        自签证书就是自己生成的证书,免费的,不支持部署浏览器的,支持浏览器的就是收费的,需要购买,这里因为是本地测试,所以就用的自签证书,买的证书可以跳过证书生成部分.  安装OpenSSL           OpenSSL是生成SSL的工具,这里是在Win10下安装的,下载的

    2023年04月14日
    浏览(46)
  • 什么是HTTPS加密协议?HTTPS安全传输原理,SSL和TLS介绍,NGINX如何配置SSL证书

    HTTPS是超文本传输协议(HTTP)的安全版本。它使用SSL(安全套接层)或TLS(传输层安全)加密协议来保护数据传输的安全性和机密性,以防止未经授权的访问和窃听。HTTPS协议通常用于处理敏感信息,如在线支付或登录凭证等。可以通过URL的前缀来识别一个网站是否使用了H

    2024年02月03日
    浏览(55)
  • nginx配置SSL证书配置https访问网站 超详细(附加配置源码+图文配置教程)

    最近在阿里云上入手了一台云服务器,准备搭建一套java程序,在 Nginx 配置SSL证书时,配上之后前端可以正常以https的方式打开,但是访问不到后端,自己也是明明知道是 Niginx 配置的问题,但就不知道错哪了,当时心里的那种感觉真是无法表达呜呜呜… 经过排查发现 前端访

    2024年02月11日
    浏览(45)
  • Nginx 域名SSL证书配置(网站 http 升级为 https) acme.sh 申请免费SSL永久证书(自动续期)

    小编这里用的是godaddy购买的域名 服务器是aws acme.sh GitHub地址  https://github.com/acmesh-official/acme.sh 配合nginx进行部署,后面会贴上nginx.conf 我这里是多个域名用同一个证书    首先你得在自己服务器上面进行部署nginx,如果不知道怎么操作的,可以参考我这一篇博客,执行到这一

    2024年01月24日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包