内容简介:先实现本地可通过https及自定义域名访问到本地的服务,我的系统是MacOS,实现步骤如下:第一步是创建一个安全套接层(CA SSL)根证书。然后可以使用此根证书为可能为单个域生成的任意数量的证书签名。CA,Catificate Authority,它的作用就是提供证书(即服务器证书,由域名、公司信息、序列号和签名信息组成)加强服务端和客户端之间信息交互的安全性,以及证书运维相关服务。
先实现本地可通过https及自定义域名访问到本地的服务,我的系统是MacOS,实现步骤如下:
- 创建根ssl证书
- 信任证书
- 生成域ssl证书
- nginx使用证书并配置代理服务
- 本地修改hosts测试
1. 创建根SSL证书
第一步是创建一个安全套接层(CA SSL)根证书。然后可以使用此根证书为可能为单个域生成的任意数量的证书签名。
CA,Catificate Authority,它的作用就是提供证书(即服务器证书,由域名、公司信息、序列号和签名信息组成)加强服务端和客户端之间信息交互的安全性,以及证书运维相关服务。
创建 root key,
$ openssl genrsa -des3 -out rootCA.key 2048 复制代码
这一步系统将提示您输入密码,每次使用此特定密钥生成证书时都需要输入该密码。
使用生成的密钥来创建新的根SSL证书。并将其保存为rootCA.pem。证书有效期为10年。在这一过程中,还将被提示输入其他可选信息。
$ openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 3650 -out rootCA.pem 复制代码
提示填写的字段大多都可以直接回车过就行了,只要Common Name字段需要填写内容,这是生成跟证书后导入到系统的证书名称,我填的是Local Certification
Country Name (2 letter code) []: State or Province Name (full name) []: Locality Name (eg, city) []: Organization Name (eg, company) []: Organizational Unit Name (eg, section) []: Common Name (eg, fully qualified host name) []:Local Certification 复制代码
2. 信任证书
打开【钥匙串访问】,左侧【钥匙串】选择【系统】,【种类】选择【证书】,然后把刚才生成的根证书导入进来(根证书是rootCA.pem)。
双击此证书,在【信任】设置中,SSL和X.509基本策略两项选择【始终信任】。
3. 生成域ssl证书
在这里我生成一个 *.lipten.link 的通配域名证书。
创建一个v3.ext文件,以创建一个X509 v3证书。注意我们指定了subjectAltName选项。
authorityKeyIdentifier=keyid,issuer basicConstraints=CA:FALSE keyUsage=digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment subjectAltName=@alt_names [alt_names] DNS.1 = *.lipten.link 复制代码
创建证书密钥,
openssl req -new -sha256 -nodes -out server.csr -newkey rsa:2048 -keyout server.key 复制代码
这一步填写域名证书密钥需要的信息,会展示在浏览器的域名证书信息,其中最重要的是Common Name的内容,必须是对应需要https访问的域名的。
Country Name (2 letter code) []:CN State or Province Name (full name) []:Province Locality Name (eg, city) []:City Organization Name (eg, company) []:WIZ Technology Co. Ltd. Organizational Unit Name (eg, section) []:WIZ Technology Co. Ltd. Common Name (eg, fully qualified host name) []:*.lipten.link 复制代码
证书签名请求通过我们之前创建的根SSL证书颁发,创建出一个 *.lipten.link 的域名证书。输出是一个名为的证书文件server.crt,
$ openssl x509 -req -in server.csr -CA [rootCA.pem路径] -CAkey [rootCA.key路径] -CAcreateserial -out server.crt -days 500 -sha256 -extfile v3.ext 复制代码
注意 CA 和 CA Key 根据实际情况填写路径,我的 rootCA 证书根域SSL证书是分开的。
现在可以开始使用这张证书了,我服务器使用的是 nginx,这里贴下部分配置。
server {
listen 80;
listen 443 ssl;
# 以www.lipten.link域名访问
server_name ~^www\.lipten\.link$;
# 配置ssl域名证书
ssl_certificate [ssl证书路径]/server.crt;
ssl_certificate_key [ssl证书路径]/server.key;
index index.html index.php;
# 反向代理需要被访问的本地服务
location / {
proxy_pass http://localhost:8080;
}
...
}
复制代码
记得重启nginx
$ nginx -s reload 复制代码
最后把本地hosts改一下,www.lipten.link指向本地地址
$ sudo vim /etc/hosts 复制代码
添加以下配置
127.0.0.1 www.lipten.link 复制代码
效果如下:
以上已经实现了https自定义域名访问本地服务,这么做就可以在满足很多需要指定域名访问才能调试的情况了,不用每次都发远程服务器啦。
实现局域网内其他设备可访问。
但这个方案只能在本地调试,有些第三方sdk还需要在手机对应的app里访问才能模拟真正的环境进行sdk的功能调试。
要想让其他设备也能以https域名在本地调试,只能是靠路由器hosts实现了,我们需要一台已经破解ssh的路由器,至于路由器怎么破解ssh就不在这里讲述了。
我手里有一台刷了Padavan固件的路由器,可以直接在web管理界面进行hosts配置:
左边栏选择 内部网络(LAN) -> 选择 DHCP服务器 -> 点击底部的 自定义配置文件 "hosts"
重启路由器,把其他设备接入同一个局域网内,就可以通过https://www.lipten.link访问到内网的本地服务啦。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 个人的局域网网络设置整理
- 局域网搭建 Docker Registry
- 创建局域网Git服务器
- golang实现局域网内简单文件服务
- 树莓派 + PiCamera + motion 打造局域网实时监控
- 树莓派 + PiCamera 打造局域网实时监控 – Version 1
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Parsing Techniques
Dick Grune、Ceriel J.H. Jacobs / Springer / 2010-2-12 / USD 109.00
This second edition of Grune and Jacobs' brilliant work presents new developments and discoveries that have been made in the field. Parsing, also referred to as syntax analysis, has been and continues......一起来看看 《Parsing Techniques》 这本书的介绍吧!
Markdown 在线编辑器
Markdown 在线编辑器
HSV CMYK 转换工具
HSV CMYK互换工具