1.5K Star 13.2K Fork 4.2K

GVP众邦科技 / CRMEB开源商城系统

 / 详情

docker部署项目成功后,template/admin登录正常,访问接口http://localhost/adminapi/user/user_level/vip_list?page=1&limit=&title=&is_show=1提示跨域问题

未处理
任务
创建于  
2024-04-06 11:39

docker部署项目成功后,template/admin登录正常,访问后台接口都提示跨域问题
输入图片说明

评论 (2)

ok_fish 创建了任务

你的接口地址怎么是localhost?

nginx原先的容器端口8011我改成80了 按下面的修改现在可以正常访问了
docker-compose/docker-compose.yml 需要添加挂载template 不然生成的时候会crud模板的时候会报错
添加这一行 - ../template:/var/template

version: "3.3"
services:
  # mysql 容器
  mysql:
    container_name: crmeb_mysql #指定容器名
#    image: daocloud.io/library/mysql:5.7.5-m15 #M1芯片可以采用这个镜像
    image: mysql:5.7 #一般电脑可以用这个镜像
    ports:
      - 3336:3306
    # 环境变量
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: '123456'
      MYSQL_USER: 'crmeb'
      MYSQL_PASS: '123456'
      MYSQL_DATABASE: 'crmeb'
    privileged: true
    command:
       --character-set-server=utf8mb4
       --collation-server=utf8mb4_general_ci
       --explicit_defaults_for_timestamp=true
       --lower_case_table_names=1
       --max_allowed_packet=128M
       --default-authentication-plugin=mysql_native_password
       --sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
    working_dir: /var/lib/mysql
    volumes:
      - ./mysql/my.cnf:/etc/mysql/my.cnf
      - ./mysql/data:/var/lib/mysql #挂载数据目录到本地
      - ./mysql/log:/var/log/mysql
    networks:
      app_net:
        # 固定子网ip,网段必须在子网络192.168.*.*
        ipv4_address: 192.168.10.11
  # redis 容器
  redis:
    container_name: crmeb_redis
    image: 'redis:alpine'
    # image: daocloud.io/library/redis:6.0.5-alpine
    # image: redis:5.0
    ports:
      - "6379:6379"
    command: redis-server /usr/local/etc/redis/redis.conf
    volumes:
      # - ./redis/data:/data #挂载数据目录到本地
      - ./redis/redis.conf:/usr/local/etc/redis/redis.conf
    networks:
      app_net:
        ipv4_address: 192.168.10.10
  # php 容器
  phpfpm:
    container_name: crmeb_php #指定容器名
    # image: phpfpm-image #指定镜像名
    image: crmeb_php #指定镜像名
    build:
      context: ./php #dockerfile文件路径
      dockerfile: Dockerfile #制定dockerfile文件名称
    restart: always
    environment:
      TZ: Asia/Shanghai
    ports:
      - 9000:9000
      - 20002:20002
      - 20003:20003
    tmpfs: /var/temp #上传临时文件夹
    working_dir: /var/www
    volumes:
      - ../crmeb:/var/www #程序运行目录
      - ../crmeb/runtime:/var/www/temp #程序缓存目录
      - ../template:/var/template
      - ./php/php-ini-overrides.ini:/etc/php/7.4/fpm/conf.d/99-overrides.ini
    networks:
      app_net:
        ipv4_address: 192.168.10.90
#    command: /bin/bash -c "php -v"
  # nginx 容器
  nginx:
    container_name: crmeb_nginx
    image: 'nginx:alpine'
    # image: daocloud.io/library/nginx:1.19.1-alpine
    restart: always
    ports:
      - 80:80
      # - 443:443
    # 依赖关系 先跑php
    depends_on:
      - phpfpm
    environment:
      TZ: Asia/Shanghai
    working_dir: /var/www
    volumes_from:
      - phpfpm #继承phpfpm挂载目录
    volumes:
      - ./nginx/vhost.conf:/etc/nginx/conf.d/default.conf
      - ./nginx/log:/etc/nginx/log
    networks:
      app_net:
        ipv4_address: 192.168.10.80
networks: #网络配置
  app_net: #网络名称
    driver: bridge
    ipam: #网络配置
      driver: default
      config:
        - subnet: 192.168.10.0/24 #IP区间


root@DESKTOP-7AMVND9:~# docker network ls
NETWORK ID NAME DRIVER SCOPE
b3f013b9928d bridge bridge local
d74cb17155d0 docker-compose_app_net bridge local
515eefe3efe5 host host local
a1502cd34e33 none null local
template/admin/docker-compose.yml 需要添加网络和前面后台docker-compose/docker-compose.yml里头的ip同一网段

version: '5'
services:
  node-web:
    container_name: CRMEBv5
    image: crmeb
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "1617:1617"
    volumes:
      - .:/app
      - /app/node_modules
    working_dir: /app
    # 开发调试
    command: ["npm","run","dev"]
    # 正式版打包
    # command: ["npm","run","build"]
    networks:
      app_net:
        ipv4_address: 192.168.10.100
networks: #网络配置
  app_net: #网络名称
    external:
      name: docker-compose_app_net

template/admin/vue.config.js 配置代理

devServer: {
    open:true,
    port: 1617, // 端口
    proxy: {
      // 单个代理配置示例
      '/': {
        target: `http://192.168.10.80`, // 目标后端服务器地址
        changeOrigin: true, // 是否需要改变原始主机头信息为target值
        logLevel: 'debug', // 可选,控制台日志级别,比如 debug、info、warn、error
        // PathRewrite:{
        //   '^/adminapi':'/adminapi'
        // }
      },
    },

docker-compose/nginx/vhost.conf 修改server_name为localhost

server {
    listen 80;
    index index.php index.html;
    server_name localhost;

    root /var/www/public;



    location / {
        # try_files $uri /index.php$is_args$args;
        if (!-e $request_filename){
            rewrite  ^(.*)$  /index.php?s=$1  last;   break;
        }
    }

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
        error_log off;
        access_log /dev/null;
    }

    location ~ .*\.(js|css)?$
    {
        expires      12h;
        error_log off;
        access_log /dev/null;
    }
    location /notice {
        proxy_pass http://192.168.10.90:20002;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header X-real-ip $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
    }
    location /msg {
        proxy_pass http://192.168.10.90:20003/;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header X-real-ip $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
    }



    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass phpfpm:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }


}

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(2)
118944 hepanming007 1681442382
PHP
1
https://gitee.com/ZhongBangKeJi/CRMEB.git
git@gitee.com:ZhongBangKeJi/CRMEB.git
ZhongBangKeJi
CRMEB
CRMEB开源商城系统

搜索帮助