【nginx】通过nginx反向代理,实现用云服务器域名(或ip地址)访问本地项目

1. 云服务器安装nginx服务器

可以用docker 安装,也可以直接安装,这个很简单

2. 使用花生壳实现内网穿透

1.自定义映射,应用类型选择HTTP,6块钱永久开启,学生认证可以免费
【nginx】通过nginx反向代理,实现用云服务器域名(或ip地址)访问本地项目_第1张图片

映射好以后,复制访问地址,进入网页查看能否访问到项目。
【nginx】通过nginx反向代理,实现用云服务器域名(或ip地址)访问本地项目_第2张图片
可以通过这个地址访问到项目,继续。

3.配置云服务器上的nginx

找到nginx->conf文件夹
文件夹下有这些文件和conf.d文件夹

conf.d  fastcgi_params  mime.types  modules  nginx.conf  scgi_params  uwsgi_params

编辑文件 nginx.conf, 注意设置每句后面都要加分号的 ;
【nginx】通过nginx反向代理,实现用云服务器域名(或ip地址)访问本地项目_第3张图片
添加一个上游服务器

 upstream 自己起个名字{
        server 花生壳映射的访问地址;  #这里的地址不要带http://
    }

然后去conf.d文件夹,里面有一个default.conf文件
复制一份这个文件,自己随便起个名字[test.conf]

cp default.conf test.conf

打开test.conf
把server name改成自己想通过哪种方式访问项目,例如可以写云服务器ip地址,也可以写域名(域名必须备案过)
【nginx】通过nginx反向代理,实现用云服务器域名(或ip地址)访问本地项目_第4张图片
在location中(绿色箭头处)
插入

proxy_set_header Host $host;  #加这个是因为nginx代理会丢掉这个请求头数据,导致后面出现404
proxy_pass http://上游服务器名字;   #(前面配置的upstream 后面跟的名字)

然后重启nginx,docker 重启nginx

docker restart nginx

注意: 配置上游服务器那里,如果服务器对应的是80端口,可能不行,所以内网穿透的时候用的动态端口。参考:https://www.it1352.com/1680719.html

4.测试

此时通过云服务ip地址(域名)应该可以成功访问到本地项目
如果是分布式项目,映射的是本地网关,还应对网关进行配置
-Host 是你想通过什么方式访问,就写什么【域名或云服务器ip地址】
在这里插入图片描述

你可能感兴趣的:(nginx反向代理,网关,分布式)