关于webman AI 域名访问配置问题

liaolong

问题描述

群里的老师们好!我是webman新手,希望得到大家的帮助。

我搭建好了webman,及AI插件应用,按 https://www.workerman.net/app/view/ai 里面配置了nginx,然后可以通用 www.aaa.com/app/ai 的形式访问ai应用了(同样也可以通过ip xx.xx.x.xx.xx/app/ai 形式访问)

我在以下2个问题碰到困扰:

1、不知如何配置一个顶级域名,能直接访问到我的ai应用,如www.bb.com 直接访问ai , 不知如何下手,如何设置nginx,如何设置webman 。

2、我想到了利用nginx的反代,设置 www.bb.com 反向代理 xx.xx.x.xx.xx/app/ai ,虽然访问正常了,但ai聊天没有结果输出 ,不知道问题出在哪里?

以上是两个问题希望得到解答!

1084 2 0
2个回答

walkor 打赏

https://www.workerman.net/app/view/ai 里有nginx配置参考

upstream webman {
    server 127.0.0.1:8787;
    keepalive 10240;
}

server {
  server_name 站点域名;
  listen 80;
  access_log off;
  proxy_buffering off;
  root /your/webman/public;

  location ^~ / {
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header Host $host;
      proxy_set_header X-Forwarded-Proto $scheme;
      proxy_http_version 1.1;
      proxy_set_header Connection "";
      if (!-f $request_filename){
          proxy_pass http://webman;
      }
  }
}

整个配置类似这样
一般来说只需要更改server_name和root即可,其他默认。

  • liaolong 2023-07-10

    是的,我按上面的配置了,能通过 www.aa.com/app/ai 来访问,但不能通过www.aa.com直接访问。

  • walkor 2023-07-10

    只需要在 config/route.php 里加一个路由即可

    Route::any('/', [plugin\ai\app\controller\IndexController::class, 'index']);
  • liaolong 2023-07-10

    可以了,谢谢 walkor 。

  • liaolong 2023-07-10

    @walkor 不懂就问。 以后我还有其他应用,需要通过其他一级域名访问的,以上路由需要怎么改呢? 如果按上面的路由会不会全部指向ai应用了?

  • walkor 2023-07-10

    如果是多个域名, 每个域名重定向到不同的url地址, 需要用nginx重写url地址

    比如访问 https://admin.example.com/ 时实际访问 https://admin.example.com/admin/
    比如访问 https://admin.example.com/a/b/c 时实际访问 https://admin.example.com/admin/a/b/c

    upstream webman {
      server 127.0.0.1:8787;
      keepalive 10240;
    }
    server {
        listen 80;
        server_name admin.example.com;
        access_log off;
        root /your/webman/public;
    
        location / {
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header Host $host;
          proxy_http_version 1.1;
          proxy_set_header Connection "";
           if (!-f $request_filename){
              rewrite ^/(.*)$ /admin/$1 break; # 这里做了重定向
              proxy_pass http://webman;
           }
        }
    }
ersic

是不是没加 proxy_buffering off;

  • 暂无评论
年代过于久远,无法发表回答
×
🔝