nginx部署SSL证书后,使用域名访问报错-net::ERR_SSL_PROTOCOL_ERROR
一、问题由来
最近在做一个小程序的后台,自己去微信官网上查看了相关的规定,小程序正式发布时,要求比较严格,必须是使用https+域名访问,自己在
阿里云购买了一个域名,可是没有备案。SSL证书去阿里云购买了一个免费的证书,想先把环境搭起来,让测试环境最接近真实环境来进行开发。
一切准备就绪,SSL证书已经配置完成,自己使用http+域名+端口进行访问也没问题,然后开始测试。立马出现问题,报错信息如下:
https://www.xxxx.com:10003/applets/gift/list net::ERR_SSL_PROTOCOL_ERRO
二、问题分析
nginx中关于https服务的配置如下:
server {
listen 443 ssl;
server_name www.xxx.com;
ssl_certificate /home/software/nginx_1_16/cert/6131892_xxx.com.pem;
ssl_certificate_key /home/software/nginx_1_16/cert/6131892_www.xxx.com.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
#location /applets {
# proxy_pass http://xxx:23458;
#}
location / {
root html;
index index.html index.htm;
}
}
自己也去看了一下nginx的日志,发现根本没有打印日志信息,这就说明一个问题,请求根本没有到达nginx服务器。
三、解决方案
对于出现的这个情况,自己也尝试着想办法解决,一个一个的进行尝试。
.a.假设:是不是由于两个证书的名称不对,导致没有正常解析?办法:修改证书的名称,让其不带任何特殊符号,比如小数点,不使用数字等等。
ssl_certificate /home/source/cert/yilang.pem;
ssl_certificate_key /home/source/cert/yilang.key;
测试配置文件是否正确,重启,测试结果没有效果。
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload
.b.修改web访问端口号为80默认端口,SSL证书的端口为443已经打开,测试,重启,没有生效。
参考如下文章
https://blog.csdn.net/ws_zll/article/details/8486033
.3.修改域名配置,去除www前缀。因为看到阿里云中域名解析显示的是xxx.com,重启nginx,没有效果,仍然报错。
.4.仔细分析下面这几种情况都可以正常访问,
可以访问:
https://120.xxx.xxx.21/applets/gift/list
可以访问:
http://120.xxx.xxx.21:10003/applets/gift/list
可以访问
http://www.xxx.com:10003/applets/gift/list
不使用域名的时候就可以使用https进行访问,这让我很是疑惑,难道是域名有问题?可是使用http访问的时候,添加
域名也没问题。最后去找了一个高手咨询了一下,果然如此,就是这个原因导致的。
总结:
阿里云购买的域名,还没有进行备案。使用http+域名访问,没问题;使用https+域名,会访问不到,报如图所示的错误。
所以在国内购买域名后一定要进行备案,虽然我知道这非常麻烦,会填写各种详细的个人信息,比如电话、身份证号码,
还需要本人手持身份证拍照这种操作。极其麻烦,可是么得法,为了项目能够正常访问,还是进行去备案比较好。
nginx部署SSL证书后,使用域名访问报错-net::ERR_SSL_PROTOCOL_ERROR的更多相关文章
- ArcGIS API for Silverlight 调用WebService出现跨域访问报错的解决方法
原文:ArcGIS API for Silverlight 调用WebService出现跨域访问报错的解决方法 群里好几个朋友都提到过这样的问题,说他们在Silverlight中调用了WebServi ...
- 微博第三方登录时,域名使用错误报错, Laravel \ Socialite \ Two \ InvalidStateException No message
使用微博第三方登录时,报错 Laravel \ Socialite \ Two \ InvalidStateException No message Laravel \Socialite \Two \ ...
- SCCM 部署操作系统 ,提示权限问题,报错:0xc00000098
SCCM 部署操作系统 ,提示权限问题,报错:0xc00000098 这个问题通过查看日志,论坛搜索,博客等.下面是最终的解决方法: 1.检查所有组件是否已安装.(IIS组件等).(分发站点证书是否正 ...
- 【mybatis】mybatis访问报错:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 或者 feign被调用方使用的mybatis总报空指针异常java.lang.NullPointerException,而变量都没有问题的情况
mybatis访问报错:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found) 需要检查的步骤: ...
- nginx使用ssl模块配置支持HTTPS访问,腾讯云申请免费证书
开始我尝试用 let's encrypt 让http 变 https 官方:https://github.com/certbot/certbot 参考:https://www.cnblogs.com/ ...
- nginx部署ssl证书
确保nginx有ssl模块,修改nginx.conf文件 在server中添加 listen 443 ssl; #crt文件路径 证书的公钥 ssl_certificate xxx.crt; #key ...
- linux+docker+nginx如何配置环境并配置域名访问
一.环境准备 1)下载php环境包,下载地址为:https://www.php.net/downloads.php 2)安装docker,这个主要的作用就是用来安装mysql.你也可以不需要安装这个东 ...
- easy-mock本地部署成功,访问报错:EADDRNOTAVAIL 0.0.0.0:7300 解决方案
easy-mock本地部署成功后,迫不及待的想看看是否能正常访问,执行命令 npm run dev 启动项目,访问 127.0.0.1:7300 ,结果郁闷的是报错:EADDRNOTAVAIL 0.0 ...
- Springboot项目打成war包,部署到tomcat上,正常启动访问报错404
前言: 项目介绍,此项目是一个Maven多模块项目,模块项目:all(父模块):util (公用的工具类):dao(实体类.业务类.mapper.mapper.xml):business(业务serv ...
- webSphere 部署项目时,访问报错:Error 500: javax.servlet.ServletException: SRVE0207E: Uncaught initialization exception created by servlet【我】
前提: 一个普通maven项目,在本地用Tomcat运行没有任何问题,但是放到 webSphere 测试环境上,访问时就报如下错误: Error 500: javax.servlet.Servlet ...
随机推荐
- PXE+Kickstart 自动化部署系统
PXE 预启动执行环境是由Intel开发的技术,可以让计算机通过网络来启动操作系统(前提是计算机上安装的网卡支持PXE技术),主要用于在无人值守安装系统中引导客户端主机安装Linux操作系统. Kic ...
- C/C++ 实现简易HTTP服务器
#include <stdio.h> #include <stdlib.h> #include <process.h> #include <WinSock2. ...
- 15.6寸不到1kg!LG Gram超轻薄本发布:13代酷睿加持
出道就以轻薄为主要卖点的LG Gram系列笔记本产品,在今年CES 2023上也迎来更新. 隶属于全新LG Gram UltraSlim产品线的15.6寸新品(15Z90RT),机身重量仅998g,厚 ...
- 树莓派4B改造成云桌面客户端,连接DoraCloud免费版
Raspberry Pi(树莓派) 是为学习计算机编程教育而设计的只有信用卡大小的微型电脑,自问世以来受众多计算机发烧友和创客的追捧,曾经一"派"难求. DoraCloud是一款多 ...
- (python)代码学习||2024.2.3||题目是codewars上的【Validate Sudoku with size `NxN`】
题目的要求是写一个Sudoku类,类中要有一个实例函数判断传给对象的二维数组是否符合数独规则 题目链接:https://www.codewars.com/kata/540afbe2dc9f615d5e ...
- .NET Core开发实战(第27课:定义Entity:区分领域模型的内在逻辑和外在行为)--学习笔记
27 | 定义Entity:区分领域模型的内在逻辑和外在行为 上一节讲到领域模型分为两层 一层是抽象层,定义了公共的接口和类 另一层就是领域模型的定义层 先看一下抽象层的定义 1.实体接口 IEnti ...
- 开源.NetCore通用工具库Xmtool使用连载 - 发送邮件篇
[Github源码] <上一篇> 介绍了Xmtool工具库中的随机值类库,今天我们继续为大家介绍其中的邮件发送类库. 发送邮件是系统开发中经常需要的功能,广泛应用于消息通知.异常告警.内容 ...
- Python学习之Pytorch
一.如何查看本机是否安装了Pytorch 在Python环境中查看是否安装了PyTorch可以通过几个简单的步骤来完成.这里有一些方法: 使用Python命令行: 打开你的命令行工具(比如Termin ...
- 一文看懂"async"和“await”关键词是如何简化了C#中多线程的开发过程
一文看懂"async"和"await"关键词是如何简化了C#中多线程的开发过程 当我们使用需要长时间运行的方法(即,用于读取大文件或从网络下载大量资源)时,在同 ...
- NC14419 线路规划
题目链接 题目 题目描述 Q国的监察院是一个神秘的组织. 这个组织掌握了整个帝国的地下力量,监察着Q国的每一个人. 监察院一共有N个成员,每一个成员都有且仅有1个直接上司,而他只听从其上直接司的命令. ...