美文网首页
https+自定义域名内网穿透(飞鸽)

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

作者: DrinkwaterGor | 来源:发表于2021-01-27 17:36 被阅读0次

    注册,开通隧道

    注册: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+自定义域名内网穿透(飞鸽)

          本文链接:https://www.haomeiwen.com/subject/yamazktx.html