当然存在多种解决方案,各有差别,但是本质都需要一个公网服务器,公网搭设一个代理服务:
这里我介绍一种用反向代理的方法解决没有固定IP的方案。内网的windows服务器只需要一个根证书、改Hosts文件即可。
本地hosts文件强制解析到自有服务器上,中间的证书是自签名认证的,服务器获取到请求后转发给真正的钉钉服务器,这样出口IP就确定了下来,能过验证。注意根证书的私钥不要泄露了,否则带来中间人攻击的风险。
自签名的SSL证书制作极其简单,几句openssl命令即可生成一个密钥和证书。但是:
自签名证书在网络上是不可信的,但如果只是自己家里、局域网内测试,是没有问题的。因为现在很多应用全都强制要求是https,所以自己电脑、家里服务器也都必须装配ssl证书。不愿意花钱买第三方证书,就自己本机制作一个自签名证书,也是可以的。
参考:如何在Linux中创建SSL证书签名请求(CSR)
参考:创建并部署自签名的 SSL 证书到 Nginx
制作前须知:
在本机创建一个自签名(自己给自己签名)的SSL证书,都是用 openssl 命令。一般Mac/Ubuntu等都是默认装配的,安装的话也是类似 sudo apt-get install openssl ,很简单。
生成证书分为这四步:
生成证书:
此时 ~/.ssl/ 文件夹下只剩下两个文件,即私钥-公钥(证书)对:
然后就可以将两个文件应用到HTTPS网络连接了。
CSR请求文件的互动过程太慢,每次手输比较麻烦,一般会用 *.cnf 配置文件来自动完成所需要输入的个人信息等内容。
比如可以建立一个 ~/.ssl/CSR-Config.cnf ,内容格式如下:
生成CSR请求文件时候,就可以用 -config 参数引用这个配置文件而不用进入交互环节了,命令如下:
另外,由于上面是指定的域名为 www.dev.lan ,随便写的。为了让本地能正常访问局域网内的服务器,需要在本地的 /etc/hosts 中将 www.dev.lan 指定为一个ip地址,如 192.168.1.101
无论如何,自签名证书都是不会被自动信任的。
所以服务器的证书,必须在每台客户端设备上手动导入或信任才行。
Chrome信任自签名证书:
打开: chrome://flags/#allow-insecure-localhost ,然后enable本地不安全证书。
Mac本机信任自签名证书:
从Chrome的红色警告图标上,直接拖拽到桌面,就把证书保存到桌面了。
然后双击,启动证书管理器,打开证书,点击上面有一个 Trust ,选择 Always trust 即可。
iOS信任自签名证书:
在Safari的地址栏,点击
因为自签名证书无论如何都不被信任,很麻烦。所以干脆用免费申请到的公网证书来局域网用,然后就能被Chrome完全认可。
方法就是,把第三方证书配置到nginx等服务器上。然后修改本地的 /etc/hosts 文件,将局域网内的ip映射为第三方证书所对应的网站,如 192.168.1.101 music.spotify.com 。这样的话,就完全没有报警提示了。
但是,也需要每台客户端都修改hosts才行。(iOS不能改)
所有客户端都改还是比较麻烦的,如果可以配置路由器的话,直接修改路由器的hosts,或者路由器上的转发,就能达到所有局域网内客户端都能访问了。
但是缺点是,局域网上配置的映射后,就不能访问那个真实网址 music.spotify.com 听歌了。
An SSH key allows you to establish a secure connection between your computer and GitLab. Before generating an SSH key in your shell, check if your system already has one by running the following command:
To generate a new SSH key, use the following command:
This command will prompt you for a location and filename to store the key pair and for a password. When prompted for the location and filename, just press enter to use the default. If you use a different name, the key will not be used automatically.
Use the command below to show your public key:
Copy-paste the key to the 'My SSH Keys' section under the 'SSH' tab in your user profile. Please copy the complete key starting with ssh-rsa and ending with your username and host.
To copy your public key to the clipboard, use the code below. Depending on your OS you'll need to use a different command:
1、打开命令终端,输入下面的命令,进入hosts文件:
2、查看host
查看本地ssh 的方法
终端输入:
就能看到你的私人秘钥了
参考文章 https://confluence.atlassian.com/bamkb/ssl-certificate-subject-305037865.html
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)