如何利用windows家用电脑和ADSL电信宽带等搭建nginx服务器,实现家外也能无障碍远程访问调用家用电脑上存储的文件资料这一小目标?

点击复制标题网址
——温馨提示——
已复制到剪贴板,可粘贴到下一处。

发布人:邓杰律师时间:2023-04-28 16:05:31 阅读:750
一般情况下,家用电脑和ADSL电信宽带受到各种限制,导致你家中台式机上储存的文件资料,无法在您家之外的公司或者客户等处临时远程调用。为解决这一难题,本文将分享如何在windows+nginx环境下,实现在家外可以通过国际域名www.abc....

        一般情况下,家用电脑和ADSL电信宽带受到各种限制,导致你家中台式机上储存的文件资料,无法在您家之外的公司或者客户等处临时远程调用。为解决这一难题,本文将分享如何在windows+nginx环境下,实现在家外可以通过国际域名www.abc.com(根据自己实际情况选择是否需要带端口号如:81)远程访问利用家中电信宽带等搭建的WEB服务器并调取相关文件资料的效果。在操作下列步骤之前,您需先向相关电信宽带等客服致电申请开通公网IP(网上有很多申请公网IP的方法,您可自行百度了解申请公网IP的经验)。 此外,本文分享的相关技术知识只能用于合法事项并由您对自己的行为独立承担全部法律责任。

        一、注册域名并做域名解析(以dnspod.cn为例

        1.添加二级域名ddns.abc.com解析。主机记录添加ddns,记录类型选择A,记录值可以随意填写一个ip地址(未来会根据后面ddns-go获取到您的宽带IP自动更替)。

        2.以DnsPod(腾讯云)为例,注册并进入到dnspod.cn中,访问 https://console.dnspod.cn/account/token/token,创建或者调用API 密钥,获取ID和Token(下一步安装配置ddns-go会用到)。

        二、登陆你的路由器,开启DHCP服务,给家用电脑分配绑定局域网静态IP。 (以华为路由器为例)

此外, 选择将您家用电脑设置为 DMZ 主机,让防火墙授权外网可以访问你的家用电脑。(以华为路由器为例)

        DMZ是英文“demilltarized zone”的缩写,中文名称为“隔离区”,也称“非军事化区”;它是为解决安装防火墙后外部网络不能访问内部网络服务器的问题, 而设立的一个非安全系统与安全系统之间的缓冲区,这个缓冲区位于企业内部网络和外网网络之间的小网络区域内,在这个小网络区域内可以放置一些必须公开的服务器设施,如企业WEB服务器、FTP服务器和论坛等,另一方面,通过这样一个DMZ区域,更加有效地保护了内部网络,因为这种网络部署,比起一般的防火墙方案,对攻击者来说又多了一道关卡。

         三、下载ddns-go_5.1.1_windows_x86_64.zip

https://github.com/jeessy2/ddns-go/releases/download/v5.1.1/ddns-go_5.1.1_windows_x86_64.zip

解压后运行ddns-go.exe文件,访问: http://127.0.0.1:9876/并配置ddns-go相关参数。以DnsPod(腾讯云)为例,填入dnspod中你创建的API 密钥,即相关ID和Token。其他按提示选择填写并保存。此后,ddns-go会时刻比对您的家用公网IP,一旦发生变化就会将域名解ip地址及时更新。

        四、在您的windows系统家用电脑上,配置nginx,搭建WEB服务器环境

        找到并打开nginx.conf,添加以下示范代码:

        #www.abc.com 81(因为电信宽带屏蔽了80端口,本文选择81端口示范配置)

    server {

    listen       81;

    server_name localhost;

root   c:/web/;

        location / {

            index  index.html index.htm;

        }

    }

        保存并启动nginx。

        五、在浏览器地址栏输入并访问:http://ddns.abc.com:81。页面出现如下提示:

Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.

Commercial support is available at nginx.com.

Thank you for using nginx.

         前述载明内容表明你可以正常打开并访问家用电脑上的个人网站。 一般人到这一步就够了。

        六、如果你想追求完美极致,不想看到网址中带81端口,想实现 http://www.abc.com域名访问代替 http://ddns.abc.com:81效果,得另行付费租用一台开放80端口的云服务器作为前端服务器,然后将家用电脑当着后端服务器,用反向代理proxy_pass命令可以轻松解决。即当用户访问www.abc.com时, nginx 实际跳转至http://ddns.abc.com:81,但用户看不到这一反向代理,隐蔽跳转过程中。打开前端服务器中的nginx.conf并添加以下示范代码:

#abc.com 80

server {

listen       80;

server_name  www.abc.com;

index  index.html index.php index.htm;

location / {

#当访问www.abc.com时,通过proxy_pass反向代理命令跳转至http://ddns.abc.com:81

proxy_pass http://ddns.abc.com:81;

#解决服务器端Nginx错误日志报10061错误,终端用户浏览器报504 gateway time-out错误

proxy_connect_timeout  60s;#nginx跟后端服务器连接超时时间(代理连接超时)

proxy_send_timeout  60s;#后端服务器数据回传时间(代理发送超时)

proxy_read_timeout  60s;#连接成功后,后端服务器响应时间(代理接收超时)

}

}

保存重启并访问: http://www.abc.com。

声明

文章版权归权利人所有,若存在侵权可 “举报”


登录 后发表评论
0条评论
还没有人评论过~