在之前的语音识别的项目中,一切都在本地进行得很顺利,然后把写的Demo部署到服务器上给老大看的时候,通过IP访问(http://192.168.xxx.xxx:8080这样的形式)时,从一开始就坏掉了,使用Chrome都不能开启录音的权限了,就谈不上语音转换了,用Firefox来访问居然迷之没有问题,说明我写的Demo没有问题,那一定就是Chrome的问题了。调出错误的报告显示得是

Only secure origins are allowed (see: https://goo.gl/Y0ZkNV).

找到问题立马一百度就出来了

问题的具体原因参考这篇博客:http://www.h3399.cn/201704/77593.html

报错的原因大概就是谷歌浏览器认为我的url是不安全的,不能开启麦克风,摄像头,定位等权限。那怎么才是安全的呢,只能把http协议升级为https。

因为升级https需要购买SSL证书之类的,并且都没有自己的域名,所以只能在本地使用java的Keytool命令生成一个,来测试一下升级到Https是否能解决我的问题。

本文一下内容参考博客

  Tomcat配置https及访问http自动跳转至https

https://blog.csdn.net/bao19901210/article/details/8768362

一、生成证书文件

步骤:

(1)打开cmd,输入

keytool -genkey -alias tomcat -keyalg RSA -keystore F:\tomcat.keystore -validity 36500

  参数简要说明:“F:\tomcat.keystore”含义是将证书文件保存在F盘,证书文件名称是tomcat.keystore ;

           “-validity 36500”含义是证书有效期,36500表示100年,默认值是90天
(2)在命令行填写必要的参数

输入密钥库密码:此处需要输入大于6个字符的字符串,例如123456

输入两次密码之后弹出以下问题

“您的名字与姓氏是什么?”  这是必填项,并且必须是TOMCAT部署主机的域名或者IP[如:gbcom.com 或者 192.168.145.170],就是你将来要在浏览器中输入的访问地址
“你的组织单位名称是什么?”、“您的组织名称是什么?”、“您所在城市或区域名称是什么?”、“您所在的州或者省份名称是什么?”、“该单位的两字母国家代码是什么?” 可以按照需要填写也可以不填写直接回车,在系统询问“正确吗?”时,对照输入信息,如果符合要求则使用键盘输入字母“y”,否则输入“n”重新填写上面的信息

(3)输入tomcat主密码
输入<tomcat>的主密码,这项较为重要,会在tomcat配置文件中使用,建议输入与keystore的密码一致,设置其它密码也可以

生成完成,可在指定目录下找到证书文件。

二、配置Tomcat服务器

1、修改server.xml文件

(1)将生成的证书文件拷贝到Tomcat要引用的位置
(2)打开apache-tomcat-8.0.50\conf\server.xml,修改如下:

修改①:

(Tomcat版本不同该标签中内容会有一些变动,但大致不变)
去掉注释且修改参数

<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="/etc/tomcat.keystore" keystorePass="123456" />

其中keystoreFile是证书存放的路径,keystorePass为生成证书时输入的密码

修改③:

修改参数

<Connector port="8009" protocol="AJP/1.3" redirectPort="443" />

2、修改web.xml文件(可不修改)
  打开apache-tomcat-8.0.50\conf\web.xml,修改如下:
在</welcome-file-list>后面加上这样一段

<login-config>
<!-- Authorization setting for SSL -->
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<!-- Authorization setting for SSL -->
<web-resource-collection>
<web-resource-name>SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>

上述配置完成后,重启Tomcat后即可以使用SSL。IE地址栏中可以直接输入地址不必输入“http://” 或者 “https://” ;也可以输入 “http:// ” 会跳转成为 “https://” 来登录

注意事项:
(1)生成证书的时间,如果IE客户端所在机器的时间早于证书生效时间,或者晚于有效时间,IE会提示“该安全证书已到期或还未生效”
(2)如果浏览器提示“安全证书上的名称无效或者与站点名称不匹配”,则是由生成证书时填写的服务器所在主机的域名“您的名字与姓氏是什么?”您的名字与姓氏是什么?”不正确引起的

Tomcat配置完成后,使用Https访问,Chrome会提示安全警告,点击“高级”,继续访问即可,结果再https下使用ip地址访问是没有问题的可以获取浏览器麦克风权限。

Http升级到Https (本地测试,无须域名和认证)的更多相关文章

  1. win10系统iis下部署搭建https (ssl/tls)本地测试环境

    有时想要把公司的某些XX项目部署成https站点,是为了在传输层加密传输,防止他人嗅探站点重要数据信息,平常我们使用的http方式都是明文方式传输的很不安全,容易被他人窃取.而有些时候要在本地搭建ht ...

  2. https,https的本地测试环境搭建,asp.net结合https的代码实现,http网站转换成https网站之后遇到的问题

    一:什么是https SSL(Security   Socket   Layer)全称是加密套接字协议层,它位于HTTP协议层和TCP协议层之间,用于建立用户与服务器之间的加密通信,确保所传递信息的安 ...

  3. 【转】https,https的本地测试环境搭建,asp.net结合https的代码实现,http网站转换成https网站之后遇到的问题

    正需要这个,写的很好,就转过来了 转自: http://www.cnblogs.com/naniannayue/ 一:什么是https SSL(Security   Socket   Layer)全称 ...

  4. win7 windows server 2008R2下 https SSL证书安装的搭配(搭配https ssl本地测试环境)

    原文:http://www.cnblogs.com/naniannayue/archive/2012/11/19/2776948.html 要想成功架设SSL安全站点关键要具备以下几个条件. 1.需要 ...

  5. 手机无须ROOT不用修改hosts即可在本地测试安卓、苹果APP和H5应用

    开发手机APP和 H5 应用经常需要在本地和线上环境分开测试,一般想到的操作都是修改hosts,我也一直这么干的,但手机上修改hosts是需要 ROOT权限的,这样太过麻烦,还有变砖头的风险,而且有些 ...

  6. 本地测试时修改localhost为自己网站的域名的方法(转载)

    做网站的,在本地测试时,所用的地址基本上都是localhost 或者直接用IP地址:127.0.0.1 如果仅仅是用来测试网站内部的程序代码之类的当然没问题,但是如果我们还要测试网站上添加的广告或者统 ...

  7. nodejs从http升级到https(阿里云证书的使用)

    升级原因 1.各大搜索引擎中,https的网页的权重比一般的http的网页权重要高. 2.从用户体验的角度,一个老是被浏览器提醒该网页不可信的网页,总不会让用户感到安心 所以将网站从http升级为ht ...

  8. nginx配置文件+本地测试请求转发到远程服务器+集群

    1 在本地测试1 众所周知,nginx是一个反向代理的服务器,主要功能即为实现负载均衡和动静分离.在别的我别的文章有详细的nginx(Windows)相关介绍教程. 由于自己安装的nginx在本地的计 ...

  9. QQ登录功能之如何获取用于本地测试的APPID

    本文主要说明一下开发者如何在QQ互联创建测试应用,从而分配给我们一套APP ID和APP KEY,在我们平时学习的时候使用. 一.QQ互联注册开发者 要想使用QQ登陆的功能,首先你必须是腾讯开发者.腾 ...

随机推荐

  1. Linux正则与文本处理工具(10)

    正则表达式 (Regular Expression, RE, 或称为常规表达式)是通过一些特殊字符的排列,用于『查找/替换/删除』一行或多行文字或字符串,简单的说,正则表达式就是用在字串的处理上面的一 ...

  2. C语言通过匿名管道实现反弹式CMDShell

    #pragma comment(lib,"ws2_32.lib") #ifdef _MSC_VER #pragma comment( linker, "/subsyste ...

  3. python爬虫实践教学

    i春秋作家:Mochazz 一.前言 这篇文章之前是给新人培训时用的,大家觉的挺好理解的,所以就分享出来,与大家一起学习.如果你学过一些python,想用它做些什么又没有方向,不妨试试完成下面几个案例 ...

  4. Spring Boot中使用Flyway来管理数据库版本

    flyway是一个开源的数据库迁移工具.类似于数据库的版本控制工具.flyway的数据库修改文件默认放在resource下的db.migration文件夹中,以V{version_number}__{ ...

  5. Spring boot mybatis : Error creating bean with name 'com.github.pagehelper.autoconfigure.MapperAutoConfiguration': Invocation of init method failed;

    报错截图: 解决方法: 只能扫描到自定义的mapper,不能扫描到其他文件. @MapperScan("com.streamax.s17.tms.dao.pper.repository&qu ...

  6. 解决微信小程序要求的TLS版本必须大于等于1.2的问题

    一.环境: CentOS 6.8 nginx 1.6.0 php 7.0.10 二.背景 最近开发一个小程序,而小程序对后台接口服务器的要求是: 1.请求域名在request合法域名中 2.基于 ht ...

  7. Python小白学习之路(二十四)—【装饰器】

    装饰器 一.装饰器的本质 装饰器的本质就是函数,功能就是为其他函数添加附加功能. 利用装饰器给其他函数添加附加功能时的原则: 1.不能修改被修饰函数的源代码        2.不能修改被修饰函数的调用 ...

  8. [原创]K8飞刀20160613 Plesk密码 & 注册表16进制转换 & Html实体解密

    K8飞刀  by K8拉登哥哥@[K8搞基大队]博客: http://qqhack8.blog.163.com 简介: K8飞刀是一款多功能的安全测试工具. Hacker Swiss Army Kni ...

  9. MySQL命令行登陆,远程登陆MySQL

    注: MySQL图形界面管理工具[navicat 10.1.8中文绿色版] 下载地址:http://www.t00y.com/file/18393836 备用地址:http://ProCircle.q ...

  10. Future接口和Callable接口以及FeatureTask详解

    类继承关系 Callable接口 @FunctionalInterface public interface Callable<V> { V call() throws Exception ...