返回

Nginx代理反向代理,一个域名下,natapp服务和nginx服务共存

前端

引言

为了外网运行自测的小demo,且涉及前后端两个服务,而natapp只购买了一个域名和隧道,简而言之,为了省钱,故研究了natapp配合nginx使用的方法。

natapp申请账号

进入官网,注册账号后登录。

  • 申请域名

在控制台列表,点击域名申请,免费赠送1个自定义顶级域名,免费领取一个后,后面还能申请10个二级域名,自定义二级域名前缀,一年有效期,到期前可进行续费。

  • 申请隧道

点击左侧隧道管理进入创建隧道页面,填写隧道名称,可点击生成随机名称。端口转发隧道类型选择HTTP或TCP类型,需要映射哪个端口,就选择哪个端口类型。TCP类型端口范围8000-8080。HTTP类型端口范围80-443。

  • 购买节点

购买节点前,先下载客户端,然后配置节点。

Windows客户端:https://natapp.cn/download/natapp-windows-amd64.zip

Linux客户端:https://natapp.cn/download/natapp-linux-amd64.tar.gz

配置客户端:

a) Linux:

wget -c https://natapp.cn/download/natapp-linux-amd64.tar.gz && tar zxvf natapp-linux-amd64.tar.gz && cd natapp-linux-amd64 && ./natapp -c nodeconfig.json

b) Windows:

wget -c https://natapp.cn/download/natapp-windows-amd64.zip && unzip natapp-windows-amd64.zip && cd natapp-windows-amd64 && natapp.exe -c nodeconfig.json
  • 配置节点

配置节点路径,输入配置密钥,启动客户端,登录管理后台,即可看到隧道列表里的节点状态变为在线。

  • 添加端口映射

填写应用名称、映射端口(natapp端口)、映射协议、映射域名、服务器IP(内网IP)和服务器端口。点击提交即可。端口映射成功后,应用名左侧出现绿色对号。

nginx反向代理教程

  • 安装nginx

查看CentOS版本信息,查询当前系统的nginx版本号,如果没有安装则进行安装,输入如下命令:

yum info nginx
# 如果未安装 nginx
yum install nginx
  • 配置nginx

先备份原nginx配置文件,使用如下命令:

cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

使用如下命令打开nginx配置文件,输入如下内容:

vim /etc/nginx/nginx.conf
# nginx 反向代理配置
server {
    listen       80;
    server_name  www.example.com;

    location / {
        # 反向代理到 127.0.0.1:8080
        proxy_pass http://127.0.0.1:8080;
    }

    # 使用 proxy_set_header 修改请求头信息
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP $remote_addr;
}
  • 启动nginx服务

使用如下命令启动nginx服务:

systemctl start nginx
  • 检查nginx服务状态

使用如下命令检查nginx服务状态:

systemctl status nginx
  • 访问natapp映射域名

如果一切正常,访问natapp映射的域名,就可以看到nginx反向代理的页面。

总结

通过使用natapp和nginx,我们可以很容易地在一个域名下运行两个服务。natapp负责将外网的请求转发到内网的服务器,而nginx负责将这些请求转发到正确的服务上。这样,我们就可以使用一个域名来访问两个不同的服务,而不需要购买两个域名。