javaWeb_https 傷城~ 2022-05-25 04:17 133阅读 0赞 如何让自己的服务支持https,首先我们需要一个安全证书,可以使用工具自己生成,也可以去阿里云购买免费证书,本例使用后者。 在阿里云申请一个免费的证书: ![70][] 如果此域名为当前阿里账号的域名,上面DNS之下的复选框可以选中,申请后十几分钟就成功了。 成功后便可下载证书,将证书复制到域名所在机器,如:/opt/https下 ![70 1][] Nginx增加配置: upstream miniprogram\_server\{ server 127.0.0.1:8080 weight=1 max\_fails=0; \} server \{ ssl on; root html; ssl\_certificate /opt/https/214245796270009.pem; ssl\_certificate\_key /opt/https/214245796270009.key; ssl\_session\_timeout 5m; ssl\_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl\_protocols TLSv1 TLSv1.1 TLSv1.2; ssl\_prefer\_server\_ciphers on; location /miniprogram\{ root html; index index.html index.htm; proxy\_pass\_header Server; proxy\_set\_header Host $http\_host; proxy\_redirect off; proxy\_set\_header X-Real-IP $remote\_addr; proxy\_set\_header X-Scheme $scheme; proxy\_pass http://miniprogram\_server/miniprogram; \} \} 配置完后就可以使用https访问了。 注:nginx启动时可能失败,因为vmware可能占用了443端口,将其杀掉即可。 **报错:** \[emerg\] 18244\#13980: bind() to 0.0.0.0:443 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions) **查看端口占用:** 输入命令:netstat -aon|findstr "443" ![70 2][] 可以看到是pid为4152的进程占用了443端口,也可以直接从资源管理器中查看: ![70 3][] 可以看到是vmware占用了443,干掉此进程即可。 [70]: /images/20220525/9af400884d5c4e8695026e945139be2c.png [70 1]: /images/20220525/41b3b063a6de4e1892ff23dc419fc99f.png [70 2]: /images/20220525/30e3509ff88f43568cf6bd58c6fe5bf3.png [70 3]: /images/20220525/f547a571a59a4089a5edc675cff8dddd.png
还没有评论,来说两句吧...