前置准备

  • 教程开始,我们默认相信小伙伴们对基本的域名购买及解析有了一定的认识和实践
  • 一个正常的域名
  • 一台公网服务器

域名解析操作

如:现在我们要设置frps的泛域名解析

  • 设置二级域名 frp.xx.com 解析到服务器IP地址
  • 设置泛域名 *.frp.xx.com 解析到二级域名 frp.xx.com

申请证书

我们申请https证书采用 acme.sh 脚本 github教程地址 点这里参考

  • 先安装脚本
curl  https://get.acme.sh | sh
  • 安装后默认位置在 ~/.acme.sh/

    上面这个目录默认是隐藏的 可以输入Tab补齐切换

    可以设置别名 alias acme.sh=~/.acme.sh/acme.sh

  • 生成证书 有2种模式,http和dns模式

我们采用的是dns模式,域名服务商为阿里云

可以到下面链接设置RAM子用户即可,注意用户权限设置http dns权限,可以参考下图

https://ram.console.aliyun.com/users

  • 设置ali_key & ali_secret
export Ali_Key="xxxxxxxx"
export Ali_Secret="xxxxxxxx"
  • 生成泛域名证书
acme.sh --issue -d *.youdomain.com" --dns dns_all

执行后生成证书在 *.youdomain.com 文件夹

  • 配置Nginx设置
server {
listen 80 default_server;
listen [::]:80 default_server;
rewrite ^ https://$http_host$request_uri? permanent; #https跳转到https,永久重定向
} server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server; ssl_certificate "/etc/nginx/ssl/fullchain.cer";
ssl_certificate_key "/etc/nginx/ssl/*.youdomain.com.key"; root /home/youdomain/www;
index index.html;
}
  • 安装证书
sudo ./acme.sh  --installcert  -d  *.youdomain.com   \
--key-file /etc/nginx/ssl/*.youdomain.com.key \
--fullchain-file /etc/nginx/ssl/fullchain.cer \
--reloadcmd "service nginx force-reload"
  • service nginx force-reload 可以重新加载证书
  • nginx 的配置 ssl_certificate 使用 /etc/nginx/ssl/fullchain.cer ,而非 /etc/nginx/ssl/.cer ,否则 SSL Labs 的测试会报 Chain issues Incomplete 错误
  • 重新生成证书
sudo ./acme.sh --renew -d *.youdomain.com --force

[新手教程]申请https泛域名解析的更多相关文章

  1. Web项目的发布新手教程

    ASP.NET服务器发布新手教程 ——本文仅赠予第一次做Web项目,需要发布的新手们,转载的请注明出处. 首先我们说一下我们的需要的一个环境.我使用的是Visual Studio 2010,版本.NE ...

  2. React JS高速新手教程

    翻译至官方文档<Tutorial>http://facebook.github.io/react/docs/tutorial.html 转载请注明出处:http://blog.csdn.n ...

  3. GitHub 新手教程 四,Git GUI 新手教程(1),OpenSSH Public Key

    1,从开始菜单 启动 Git GUI,或者运行: D:\soft\Git\cmd\git-gui.exe(D:\soft\Git 为您的 GitHub 安装文件夹) 2,获取 SSH 密钥: 3,点击 ...

  4. GLSL经典新手教程汇总

    权威官方文档:https://www.opengl.org/documentation/glsl/ 权威民间金典新手教程:http://blog.csdn.net/racehorse 一个具体完整的G ...

  5. 有用PHP依赖管理工具Composer新手教程

    PHP依赖管理工具Composer新手教程 Composer 是 PHP 的一个依赖管理工具.它同意你申明项目所依赖的代码库,它会在你的项目中为你安装他们. 依赖管理 Composer 不是一个包管理 ...

  6. Android基础新手教程——1.5.2 Git之使用GitHub搭建远程仓库

    Android基础新手教程--1.5.2 Git之使用GitHub搭建远程仓库 标签(空格分隔): Android基础新手教程 本节引言: 在上一节中.我们学习了怎样使用Git.构建我们的本地仓库.轻 ...

  7. 如何申请https证书、搭建https网站

    如何申请https证书.搭建https网站 随着国内搜索引擎巨头百度启用全站https加密服务,全国掀起了网站https加密浪潮.越来越多的站点希望通过部署https证书来解决“第三方”对用户隐私的嗅 ...

  8. nginx泛域名解析实现二级域名多域名

    利用nginx泛域名解析配置二级域名和多域名 网站的目录结构为html├── bbs└── www html为nginx的安装目录下默认的存放源代码的路径. bbs为论坛程序源代码路径www为主页程序 ...

  9. APP设计尺寸规范大全,APP界面设计新手教程【官方版】(转)

    正值25学堂一周年之际,同时站长和APP设计同仁们在群里(APP界面设计 UI设计交流群,APP界面设计⑥群 APPUI设计③群58946771 APP设计资源⑤群 386032923欢迎大家加入交流 ...

随机推荐

  1. PyQt(Python+Qt)学习随笔:Qt Designer中主窗口对象dockNestingEnabled属性

    dockNestingEnabled 属性是确认主窗口的浮动部件(dock widget)是否允许嵌套的一个属性. 如果此属性为False,则浮动部件停靠区域只能包含一个浮动部件(水平或垂直).如果此 ...

  2. 【系统设计】不同分类的商品动态添加扩展属性的方法(WMS、小型电商)

    在做公司WMS系统的时候,遇到了一个商品模块的设计问题,具体业务流程如下. 客户提供需要存放的商品清单,根据商品清单生成收货单给客户,然后生成入库单进行商品入库操作. 在生成这两个单之前首先要录入商品 ...

  3. Leetcode学习笔记(2)

    题目1 ID面试题 01.04 给定一个字符串,编写一个函数判定其是否为某个回文串的排列之一. 回文串是指正反两个方向都一样的单词或短语.排列是指字母的重新排列. 回文串不一定是字典当中的单词. 示例 ...

  4. C++详解(8-9)

    八. C++函数的高级特性 对比于C语言的函数,C++增加了重载(overloaded).内联(inline).const和virtual四种新机制.其中重载和内联机制既可用于全局函数也可用于类的成员 ...

  5. 中间件面试专题:RabbitMQ高频面试问题

  6. Gradle上传依赖到私服(nexus)

    子模块配置 buildscript { repositories { mavenLocal() maven { url "http://maven.aliyun.com/nexus/cont ...

  7. HDU3686 Traffic Real Time Query System

    P.S.此题无代码,只有口胡,因为作者码炸了. 题目大意 给你一个有 \(n\) 个点, \(m\) 条边的无向图,进行 \(q\) 次询问,每次询问两个点 \(u\) \(v\),输出两个点的之间的 ...

  8. DVWA各级文件包含漏洞

    File Inclusion文件包含漏洞 漏洞分析 程序开发人员通常会把可重复使用的函数写入到单个文件中,在使用某些函数时,直接调用此文件,而无需再次编写,这种调用文件的过程被称为包含. 有时候由于网 ...

  9. 【译】理解Rust中的Futures (一)

    原文标题:Understanding Futures In Rust -- Part 1 原文链接:https://www.viget.com/articles/understanding-futur ...

  10. CAP、BASE、ACID

    CAP定理 定义 CAP定理(CAP theorem),它指出对于一个分布式计算系统来说,不可能同时满足以下三点: 一致性(Consistency) (等同于所有节点访问同一份最新的数据副本:写操作之 ...