https+自定义域名内网穿透(飞鸽)

注册,开通隧道

注册:https://www.fgnwct.com/index.html
购买隧道:

image.png

开通成功:
image.png

下载客户端与启动(windows)

Windows - 客户端启动方式
在首页中下载你需要的Windows客户端


image.png

解压到本地后,进入cmd命令行下,使用“隧道管理”中的启动命令直接启动。或者直接在傻瓜式运行中贴入启动命令
Windows下隐藏黑窗口


image.png

image.png

直接启动客户端的话,是在前台运行,关闭黑窗口就直接关闭了程序,可以使用VB脚本的方式来隐藏黑窗口,使客户端在后台运行,缺点是看不到访问日志了,或者直接使用注册到系统服务


image.png

在客户端根目录创建文件"start.vbs",编辑并复制下面的代码,注意将命令中的npc.exe -server=xxxx -vkey=xxxx替换成你的隧道管理中的启动命令

Set ws = createObject("WScript.shell")
ws.run "cmd /c npc.exe -server=xxxx -vkey=xxxx",vbhide

直接双击运行start.vbs就可以了,关闭进程可以在任务管理器中找到 npc.exe,结束掉就行


image.png

使用自定义域名

使用自己的域名访问内网下穿透的服务,在开通隧道时,选择域名类型为自定义域名,注意非香港节点服务器需要使用在阿里云已备案、已备案、已备案的域名(阿里云的服务器只能使用阿里云的域名),并在域名服务商平台将CNAME解析指向启动命令中 -server 的地址上。

注意,CNAME所对应解析的域名地址不加端口号、不加端口号、不加端口号❗❗❗

image.png

image.png

阿里云域名解释
image.png

image.png

如何使用https

如果想要通过https的方式访问服务,首先需要在本地的web服务器中配置SSL证书,然后穿透443端口即可。
问:为什么别人家的内网穿透穿透可以将我本地的http转成https?

答:因为飞鸽内网穿透使用的是端口转发模式,即80到80,443到443。如果在服务器上将80转换成443,对于多个用户使用同一个证书而言,风险比较大, 例如:张三发布了一些非法信息而导致证书爆红,李四所访问的页面也将会爆红

问:怎么配置SSL证书呢?

答:对于不同web服务器配置证书的方式也不同,请参考下面的在阿里云免费申请证书

在阿里云免费申请SSL证书

免费申请链接: https://common-buy.aliyun.com/?spm=5176.14113079.0.0.22d456a7lJqouJ&commodityCode=cas

image.png

申请证书
购买成功后前往控制台申请证书


image.png

绑定域名
证书绑定域名输入飞鸽分配的域名(如果你实现了使用上述步骤中的使用自定义域名, 这里应该使用自定义域名申请证书),域名验证方式选择文件验证


image.png

域名验证
这一步主要是为了验证这个域名是属于你的,阿里云提供了两种方式,在上一步我们选择了文件验证方式,下载阿里云提供到txt文件放到你域名指定访问目录,点击验证之前,需要开启内网穿透客户端。
如下图所示,验证地址为:xxx/.well-known/pki-validation/fileauth.txt


image.png

image.png

等待审核
一旦文件验证成功后,阿里云将会在几分钟内为你签发证书,此时,我们只需要将证书下载到本地,部署到本地的web服务器中即可使用https服务了


image.png

image.png

image.png

部署成功
部署成功后,你的访问地址将出现一把安全锁


image.png

将证书部署到本地的Nginx中

(建议使用证书部署到本地nginx再使用nginx转发的方式, 这样对要部署的项目侵入少)
步骤1:下载证书到本地

  1. 登录SSL证书控制台。

  2. 在概览页面,单击证书列表上方的证书状态下拉列表,并选择已签发。

    已签发

    该操作将会筛选出所有已经通过CA机构签发的证书。

  3. 定位到要下载的证书,单击操作列下的下载。

  4. 在证书下载页面,定位到Nginx服务器,单击操作列下的下载。

    该操作会将Nginx服务器证书压缩包下载到本地,并保存在浏览器的默认下载位置。

  5. 打开浏览器的默认下载位置,解压已下载的Nginx证书压缩包文件。

    解压后您将会获得以下文件:

    证书文件

    • PEM格式的证书文件。

      注意 在后续安装证书的操作中,您必须使用真实的证书文件名称替换示例代码中的cert-file-name

      PEM格式的证书文件是采用Base64编码的文本文件,您可以根据需要将证书文件修改成其他格式。关于证书格式的更多信息,请参见主流数字证书都有哪些格式。

    • 可选:KEY格式的证书密钥文件。

      注意 如果您在申请证书时将CSR生成方式设置为手动填写,则下载的证书文件压缩包中不会包含KEY文件,您需要手动创建证书密钥文件。

      CSR生成方式

  6. 在Nginx服务器上安装证书。

    根据您是否使用独立的Nginx服务器,安装证书的操作不同, 这里使用的是独立服务器的方式

  7. 修改nginx.conf文件,注意证书放在cong/cert文件夹下

#以下属性中,以ssl开头的属性表示与证书配置有关。
server {
    listen 443 ssl;
    #配置HTTPS的默认访问端口为443。
    #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
    #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
    server_name yourdomain.com; #需要将yourdomain.com替换成证书绑定的域名。
    root html;
    index index.html index.htm;
    ssl_certificate cert/cert-file-name.pem;  #需要将cert-file-name.pem替换成已上传的证书文件的名称。
    ssl_certificate_key cert/cert-file-name.key; #需要将cert-file-name.key替换成已上传的证书密钥文件的名称。
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    #表示使用的加密套件的类型。
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS协议的类型。
    ssl_prefer_server_ciphers on;
    location / {
        root html;  #站点目录。
        index index.html index.htm;
    }
}
  1. 重启nginx, 现在使用你的自定义域名+https访问一下浏览器试试吧

你可能感兴趣的:(https+自定义域名内网穿透(飞鸽))