持续学习&持续更新中…
守破离
内网穿透
正常的外网需要访问我们项目的流程是:
- 买服务器并且有公网固定 IP
- 买域名映射到服务器的 IP
- 域名需要进行备案和审核
内网穿透可以允许我们使用外网的网址来访问本地主机;
cpolar
https://www.cpolar.com/docs
https://www.cpolar.com/features
https://www.cpolar.com/blog
下载安装后,创建一个隧道,然后运行一个服务监听这个隧道的端口即可:
本地服务启动后,就可以使用该隧道的公网地址来访问我们的本地服务了。
内网穿透联调
虚机机地址是192.168.56.10
,虚拟机中的Nginx监听80
端口:
/payed/notify
这个请求就会转发给网关,并且请求头会更改为我们设置的order.gulimall.com
,网关就可以把该请求转发给对应的服务。
配置练习—使用公网地址访问gulimall.com
本地虚拟机地址:http://192.168.56.10
cpolar配置:
或者:(因为本地host文件配置了192.168.56.10 gulimall.com
映射)
虚拟机中Nginx配置:(之所以使用Nginx主要是为了静态分离,减轻本地服务Tomcat的负担)
# ...
http {
# ...
upstream gulimall {
# 本地服务器网关地址
server 192.168.201.107:88;
}
}
server {
listen 80;
# dfe6e73.r25.cpolar.top;是cpolar的公网地址
server_name gulimall.com *.gulimall.com dfe6e73.r25.cpolar.top;
location /static/ {
root /usr/share/nginx/html;
}
location / {
proxy_pass http://gulimall;
# proxy_set_header Host $host;
proxy_set_header Host gulimall.com;
}
}
网关配置:
server:
port: 88
spring:
application:
name: gulimall-gateway
cloud:
gateway:
routes:
- id: gulimall_product_route
uri: lb://gulimall-product
predicates:
- Host=gulimall.com,item.gulimall.com
# ...
那么此时,使用公网就可以访问我们的本地服务了
参考
雷丰阳: Java项目《谷粒商城》Java架构师 | 微服务 | 大型电商项目.
本文完,感谢您的关注支持!