实现Nginx代理WSS协议
如果说我比别人看得更远些,那是因为我站在了巨人的肩上-----牛顿
获取/更新Https证书脚本
一个快速获取/更新 Let's encrypt 证书的 shell script
GitHub 完整说明文档 http://t.cn/R1At25t
想折腾!!!自己动手生成证书可以参考这个篇博客
http://t.cn/R1AtGvm
以下为文档详细内容以及我测试环境的配置,贴过来是为了方便离线阅读
脚本中是调用 acme_tiny.py 认证、获取、更新证书,不需要额外的依赖。
下载到本地
配置文件
只需要修改 DOMAIN_KEY DOMAIN_DIR DOMAINS 为你自己的信息
执行过程中会自动生成需要的 key 文件。其中 为账户密钥, 为域名私钥, 为域名指向的目录, 为要签的域名列表, 需要 证书时取消 的注释,需要为 生成 文件时,取消 的注释。
运行
注意
需要已经绑定域名到 目录,即通过 可以访问到 目录,用于域名的验证
将会生成如下几个文件
在 nginx 里添加 ssl 相关的配置
cron 定时任务
每个月自动更新一次证书,可以在脚本最后加入 service nginx reload等重新加载服务。
生成证书后的目录结构
比如域名为: 那么子域名前缀为
示例配置
脚本配置文件
letsencrypt.conf将其中的修改为自己的域名
Nginx配置
配置文件在
主要配置日志格式以及引用外部的配置文件。避免所有配置都配置到一个配置文件导致臃肿。
配置文件可以放在
生成证书之前只需要配置80端映射到中指定的目录,生成证书后就可以配置https测试。
wss协议转发
你没看错转发配置就是这么简单
如果有更好的解决方案或者疑问欢迎留言一起讨论。
领取专属 10元无门槛券
私享最新 技术干货