springcloud中配置过网关的映射,但是访问的时候访问不到

#遇到的问题
springcloud中配置过网关的映射,但是访问的时候访问不到
网关中配置的是域名映射到nacos服务,域名在hosts文件中已经配置过
#截图
1.访问网页

img

2.网关配置

img

3.配置文件bootstrap

img


4.hosts文件配置

img


5.VMnet8ip地址配置

img


6.web-all模块nacos配置中心中的配置

img

#java代码


#controller层代码
package com.atguigu.gmall.web.controller;

import com.atguigu.gmall.common.result.Result;
import com.atguigu.gmall.item.client.ItemFeignClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

import java.util.Map;
@Controller
@SuppressWarnings("all")
public class ItemController {
    @Autowired
    private ItemFeignClient itemFeignClient;
    @GetMapping("{skuId}.html")
    public String getItem(@PathVariable Long skuId, Model model){
        Result<Map> item = itemFeignClient.getItem(skuId);
        model.addAllAttributes(item.getData());
        return "item/item";
    }

}


你的地址访问的是你的网关应用吗?
网关启动的端口是那个8300吗?
你浏览器访问的是80端口吧

  • 这篇博客: 【SpringCloud】微服务笔记中的 nacos提供者 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 新建模块 cloudalibaba-provider-payment9001

    父pom中

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.1.1.BUILD-SNAPSHOT</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    

    子pom依赖:

    	<dependencies>
    
            <!-- springcloud alibaba nacos 依赖 -->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            </dependency>
            
            <!-- springboot整合Web组件 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-actuator</artifactId>
            </dependency>
    
            <!-- 日常通用jar包 -->
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
                <scope>runtime</scope>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
            <dependency><!-- 引入自己定义的api通用包,可以使用Payment支付Entity -->
                <groupId>com.dkf.cloud</groupId>
                <artifactId>cloud-api-commons</artifactId>
                <version>${project.version}</version>
            </dependency>
        </dependencies>
    

    yml 配置:

    server:
      port: 9001
    spring:
      application:
        name: nacos-provider
      cloud:
        nacos:
          discovery:
            server-addr: localhost:8848
    management:
      endpoints:
        web:
          exposure:
            include: '*'
    
    @EnableDiscoveryClient // 注册
    @SpringBootApplication
    public class PaymentMain9001 {
        public static void main(String[] args) {
                SpringApplication.run(PaymentMain9001.class, args);
        }
    }
    
    @RestController
    public class PaymentController {
        @Value("${server.port}")
        private String serverPort;
    
        @GetMapping(value = "/payment/nacos/{id}")
        public String getPayment(@PathVariable("id") Integer id) {
            return "nacos registry, serverPort: "+ serverPort+"\t id"+id;
        }
    }
    

    Nacos 自带负载均衡机制,下面创建第二个提供者9003。也可以-Dserver.port=9011

    新建 cloudalibaba-provider-payment9003 提供者模块,clone 9001 就可以