Nginx代理反向代理,一个域名下,natapp服务和nginx服务共存
2023-11-06 21:42:11
引言
为了外网运行自测的小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负责将这些请求转发到正确的服务上。这样,我们就可以使用一个域名来访问两个不同的服务,而不需要购买两个域名。