GithubHelp home page GithubHelp logo

daivad / self-signed-certificate Goto Github PK

View Code? Open in Web Editor NEW

This project forked from alanpeng/self-signed-certificate

0.0 0.0 0.0 125 KB

自签泛域名证书

License: Apache License 2.0

Shell 100.00%

self-signed-certificate's Introduction

自签泛域名证书

此工具用于颁发泛域名证书,方便开发环境调试。

优点

  1. 你可以创建任意网站证书,只需导入一次根证书,无需多次导入;
  2. 减少重复又无谓的组织信息输入,创建证书时只需要输入域名;
  3. 泛域名证书可以减少 nginx 配置,例如你要模拟 CDN:
    假设你的项目网站是 example.dev,CDN 网站设置为 cdn.example.dev
    你只需在 nginx 里面配置一个网站,server_name 同时填写 example.dev
    cdn.example.dev,它们可以使用同一个 *.example.dev 的证书。
  4. 现在你只需要一个证书,就可以搞定所有项目网站!

使用 SAN 来支持多域名和泛域名:

subjectAltName=DNS:*.one.dev,DNS:one.dev,DNS:*.two.dev,DNS:two.dev,DNS:*.three.dev,DNS:three.dev

系统要求

  1. Linux,openssl
  2. 事先用 hosts 或者 dnsmasq 解析你本地开发的域名,
    例如把 example.dev 指向 127.0.0.1

使用

./gen.cert.sh <domain> [<domain2>] [<domain3>] [<domain4>] ...

<domain> 替换成你的域名,例如 example.dev

运行的输出像这样:

Output Screen

如果有多个项目网站,可以把所有网站都加上去,用空格隔开。

生成的证书位于:

out/<domain>/<domain>.crt
out/<domain>/<domain>.bundle.crt

证书有效期是 2 年,你可以修改 ca.cnf 来修改这个年限。

根证书位于:
out/root.crt
成功之后,把根证书导入到操作系统里面,信任这个证书。

根证书的有效期是 20 年,你可以修改 gen.root.sh 来修改这个年限。

证书私钥位于:
out/cert.key.pem

其中 <domain>.bundle.crt 是已经拼接好 CA 的证书,可以添加到 nginx 配置里面。
然后你就可以愉快地用 https 来访问你本地的开发网站了。

清空

你可以运行 flush.sh 来清空所有历史,包括根证书和网站证书。

配置

你可以修改 ca.cnf 来修改你的证书年限。

default_days    = 730

可以修改 gen.root.sh 来自定义你的根证书名称和组织。

也可以修改 gen.cert.sh 来自定义你的网站证书组织。

参考 / 致谢

https://github.com/Fishdrowned/ssl

self-signed-certificate's People

Contributors

alanpeng avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.