谷粒商城 使用云服务器和内网穿透实现 Nginx域名访问 (P139-P40)

  1. 谷粒商城-分布式基础篇【环境准备】
  2. 谷粒商城-分布式基础【业务编写】
  3. 谷粒商城-分布式高级篇【业务编写】持续更新
  4. 谷粒商城-分布式高级篇-ElasticSearch
  5. 谷粒商城-分布式高级篇-分布式锁与缓存
  6. 项目托管于gitee

需求


域名映射效果:

  • 请求接口:gulimall.com
  • 请求页面:gulimall.com

nginx 直接代理给网关,网关进行判断

  • 如果是/api/***,转交给对应的服务器
  • 如果是 满足域名,转交给对应的服务
    在这里插入图片描述

说明


由于本人使用的是腾讯云服务器部署的Nginx,外网代理不了本地的映射,故这里使用了 花生壳来将本地的gulimall-gateway 服务内网穿透到公网,从而实现代理

解决方案


第一步、修改本地 /etc/hosts

# vim /etc/hosts
124.222.223.222 gulimall.com

在这里插入图片描述

第二步、启动本地服务,将 gulimall-gate 内网穿透出去

:使用http协议 (http协议需要单独购买)
在这里插入图片描述

第三步、配置上游服务器

修改 云服务器下的/mydata/nginx/conf 路径下的 nginx.conf 配置文件

upstream gulimall{
		server m374k82881.qicp.vip:16059;
}

在这里插入图片描述

第四步、配置域名代理

修改 /mydata/nginx/conf/conf.d 路径下的 gulimall.conf 配置文件

server {
    listen       80;
    server_name  gulimall.com;

    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;

    location / {
        proxy_set_header Host $host;
        proxy_pass http://gulimall;
    }

在这里插入图片描述
修改完配置文件进行重启nginx容器服务:

docker restart nginx

第五步、配置网关

配置 gulimall-gateway 服务下的 application.yml 配置文件,加上以下网关配置

- id: gulimall_host_route
  uri: lb://gulimall-product
  predicates:
    - Host=**.gulimall.com

测试:本地浏览器访问gulimall.com
在这里插入图片描述
测试成功!!

  • 10
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 27
    评论
好的,你的问题是关于腾讯云服务器使用nginx-ingress代理nacos端口,并使用域名访问。那么我可以为你解答。 首先,为了在腾讯云服务器使用nginx-ingress代理nacos端口,并使用域名访问,你需要完成以下步骤: 1. 在腾讯云服务器上安装nginx-ingress。你可以使用helm chart来完成安装。安装完成后,你可以通过kubectl get svc -n ingress-nginx查看nginx-ingress的service。 2. 在nacos配置中心的deployment中添加annotations,使其能够被nginx-ingress识别。例如: ``` apiVersion: apps/v1 kind: Deployment metadata: name: nacos namespace: default labels: app: nacos spec: replicas: 1 selector: matchLabels: app: nacos template: metadata: labels: app: nacos annotations: nginx.ingress.kubernetes.io/rewrite-target: / nginx.ingress.kubernetes.io/proxy-body-size: "0" spec: containers: - name: nacos image: nacos/nacos-server:latest ports: - containerPort: 8848 ``` 3. 创建ingress资源,并将其与nacos的service关联。例如: ``` apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: name: nacos-ingress annotations: nginx.ingress.kubernetes.io/rewrite-target: / spec: rules: - host: nacos.example.com # 这里填写你的域名 http: paths: - path: /nacos backend: serviceName: nacos servicePort: 8848 ``` 4. 最后,在腾讯云域名管理中添加一条记录,将域名解析到nginx-ingress的service对应的IP地址。这样你就可以通过域名访问nacos了。 希望这些步骤能够帮助到你。如果你还有其他问题,可以继续问我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值