https+ip實現攝像頭訪問瀏覽器

前言

最近有個需求,是通過調用api訪問攝像頭進行圖像識別,無奈谷歌瀏覽器默認限制https纔可以開啓攝像頭和話筒的訪問權限,服務器是直接通過ip訪問的,功能做好了無法使用。

開發環境的話可以通過花生殼之類的代理,但在生產環境是不讓使用的,最好的方式就是申請域名+ssl證書實現https訪問。但是申請比較繁瑣,時間跨度比較久,想到另外一種方案就是使用自己生成證書+ip的方式。

開始

服務是使用tomcat部署的,配置比較簡單。步驟如下:

生成證書文件

在jdk目錄,比如:D:\java1.8\jdk\jre\lib\security>目錄輸入以下命令

keytool -genkey -alias szjt -keyalg RSA -keysize 1024 -keypass password -storepass password -dname "CN=192.168.1.99,OU=szjt,O=szjt,L=SZ,ST=GD,C=CN" -ext san=ip:192.168.1.99 -validity 3600 -keystore D:\szjt.keystore

其中192.168.1.99 是服務器訪問IP,-keypass password -storepass password 是設置的證書密碼,-validity 3600 設置過期時間,單位爲天,D:\szjt.keystore 是證書存放位置。

生成crt文件

完了之後再輸入以下命令

keytool -export -file D:\szjt.crt -alias szjt -keystore D:\szjt.keystore

輸入祕鑰生成時設置的密碼:password

導入證書文件
keytool -import -keystore .\cacerts -file D:\szjt.crt -alias szjt

輸入默認密碼:changeit

配置tomcat

在$tomcat/conf/server.xml文件修改或者增加以下內容

<Connector port="8443" protocol="HTTP/1.1"
       maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
       clientAuth="false" sslProtocol="TLS" keystoreFile="D:\szjt.keystore" keystorePass="password"/>

啓動tomcat之後訪問https://192.168.1.99:8443即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章