前言

项目牵涉到做一个语音在线实时收集,然后进行asr识别的B/S应用。所以需要浏览器调用“麦克风”来获取用户语音。此时需要在localhost或者https下才能实现这样的功能。类似于google的语音翻译,如下所示:
image.png

内容

1.在阿里云控制台进入SSL证书(应用安全)界面

image.png
进入ssl证书
image.png

2.选择“免费证书”,点击创建证书后,会生成一条待申请的证书

然后点击该条记录的证书申请。
image.png

3.填写申请个信息

image.png

点击下一步进行信息验证,如果域名也是在阿里云申请的,操作就比较简单,会自动一键生成DNS解析记录,点击DNS信息验证,通过后就说明没问题,点击提交审核按钮.
image.png
域名 之前在阿里云已经申请过,现在点进去看域名即可。
image.png

如果对应的域名不在本ssl机器之上,那么进行操作:
image.png
大约等几分钟即可。

4. 下载nginx的证书,进行配置

审核通过后,证书状态会变为已签发状态,点击下载按钮。
下载服务器类型为Nginx的证书(其他服务器类型自行下载对应的)
image.png

5.配置nginx

将压缩包中的证书文件放到服务器的指定位置,这个位置要与nginx里配置的地址保持一致
nginx配置;我们进入nginx安装的目录:/usr/local/nginx,然后创建ssl目录。将证书存放到此目录下:

 # HTTPS server
    #
    server {
        listen       443 ssl;
        server_name  xxxx.xyz;

        gzip on;  # 注意是在当前的访问域名下开启有效
        gzip_min_length 1k;
        gzip_comp_level 6; # 压缩比例,比例越大,压缩时间越长。默认是1
        gzip_types text/xml text/plain text/css application/javascript application/x-javascript application/rss+xml image/jpeg image/gif image/png; # 哪些文件可以被压缩
        gzip_vary on;
        gzip_disable "MSIE [1-6]\.";

        ssl_certificate  /usr/local/nginx/ssl/9225710_xxxx.xyz.pem;
        ssl_certificate_key  /usr/local/nginx/ssl/9225710_xxxx.xyz.key;

        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
       
       location ^~ /audioTrans/ {
         proxy_set_header host $host;
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_pass http://127.0.0.1:8088/;
      }
    }

附录

1. the "ssl" parameter requires ngx_http_ssl_module

如果出现以下错误:

nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:153

参考下:http://events.jianshu.io/p/2fba66b52cd9

可以使用:

./configure --prefix=/usr/local/nginx/ --with-stream --with-http_ssl_module --with-pcre --with-http_v2_module --with-stream_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_sub_module

2.在配置的宿主机上可以访问https,但是在其他机器上访问不了

在宿主机访问:

https://xxxx.xyz/trans/#/audioTrans

出现下面结果:
image.png

在宿主机其他机器上访问:
image.png

4.云服务器的防火墙开启443端口:
firewall-cmd –zone=public –add-port=443/tcp –permanent 增加443端口

firewall-cmd –reload 重启防火墙

3.Connection reset by peer

https://zhuanlan.zhihu.com/p/540070326


startshineye
91 声望26 粉丝

我在规定的时间内,做到了我计划的事情;我自己也变得自信了,对于外界的人跟困难也更加从容了,我已经很强大了。可是如果我在规定时间内,我只有3分钟热度,哎,我不行,我就放弃了,那么这个就是我自己的问题,因为你自己...


« 上一篇
hadoop集群搭建
下一篇 »
nginx-常见问题