简介一个在外网跑自测的小demo,涉及到前端和后端两个服务,而natapp只购买了一个域名name和tunnel,总之,为了省钱,所以研究了natapp配合nginx使用的方法。Natapp申请一个账号,进入官网,注册登录。如果对购买隧道没有什么大的需求,9元/月买一个自用就够了。购买二级域名二级域名根据自己机器的配置设置,主要是机器的映射地址和端口,以及绑定购买的隧道。下载然后去客户端下载对应的版本。配置config.ini在下载的natapp同目录下下载config.ini文件,或者直接复制以下内容到新建的config.ini文件中。您只需要配置authtoken。#把这个文件和natapp放在同一个目录,程序会读取[default]部分#在命令行参数方式下,natapp-authtoken=xxx等相同的参数会覆盖这个配置#命令行参数-config=即可指定任意config.ini文件[default]authtoken=**#对应一个隧道的authtokenclienttoken=#对应客户端的clienttoken,authtoken会被忽略,如果没有请留空,log=none#log日志文件,可以指定本地文件,none=不做记录,stdout=直接屏幕输出,默认为noneloglevel=ERROR#日志级别DEBUG,INFO,WARNING,ERROR默认为DEBUGhttp_proxy=#http等代理设置://10.123.10.10:3128非代理上网用户必须留空运行命令行工具cdnatapp目录,然后输入./natapp启动服务。这时候打开对应的域名地址就可以访问本地启动的对应服务了。nginx下载输入下载地址,找到一个版本安装即可。mac下运行brewinstallnginx命令安装。判断是否安装成功。在终端输入nginx启动服务,在控制台输入localhost(没有nginx.conf的端口默认为80)。如果能进入nginx官网,则安装成功。配置nginx.conf,找到nginx安装目录,打开nginx.conf文件。mac下,在终端运行open/usr/local/Cellar/nginx打开nginx安装目录,这里运行cat/usr/local/etc/nginx/nginx.conf打开配置文件,配置如下:#nginx80端口配置(监听一个二级域名)server{listen80;服务器名称phoenixhg.natapp1.cc;#根据项目名称区分代理的地址和端口location/{proxy_passhttp://localhost:9000;indexindex.htmlindex.htm;}#根据项目名区分代理位置的地址和端口/socket.io/{proxy_passhttp://localhost:3001;#配置Nginx支持webSocketstartproxy_set_headerHost$http_host;proxy_http_version1.1;proxy_set_header升级$http_upgrade;proxy_set_header连接“升级”;}}listen监听我们的端口。我的前端项目端口是80,所以使用80端口,server_name指向我们之前配置的natapp域名。该位置配置前端和后端项目代理。比如我这里的前端项目启动的服务地址是localhost:9000,后端是localhost:3001。可以通过proxy_pass配置。保存后重启nginx服务(nginx-sreload),此时浏览器直接访问phoenixhg.natapp1.cc即可查看??前端部署的项目地址。前端请求的api地址可以改成通过域名访问phoenixhg.natapp1.cc/socket.io/。一个小点:配置socket.io后端服务时,location必须使用名称/socket.io/才能成功连接到socket服务,并且socket后端代理必须配置上面四行代码才能支持.完成后,即使在非局域网中,您也可以访问自己的项目!
