首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nginx反向代理背后的Botpress

Nginx反向代理背后的Botpress
EN

Stack Overflow用户
提问于 2019-11-27 08:54:54
回答 1查看 621关注 0票数 0

我正在考虑设置多个聊天机器人,就像在一个容器化平台中,让我们比如说码头或Kubernetes,并且我希望能够通过反向代理(如Nginx )访问这些聊天机器人。任何帮助都是非常感谢的。

我的示例场景

我有一个多个聊天机器人,叫它们Bravo,Charlie,Delta

  • Bravo的IP地址和端口为10.0.0.2:8080
  • 查理IP : 10.0.0.3:8080
  • 达美航空IP :10.0.0.4:8080

所有这些机器人都生活在nginx代理后面的容器中。现在,如果我想访问这些聊天机器人,我可以用10.0.0.2:8080访问浏览器并使用聊天机器人,

如果我可以设置一个域(alpha,org),并希望以alpha、com/bravo或alpha、com/charlie和alpha、com/delta的形式访问这些聊天机器人,那么如何才能实现这一点呢。

代理pass指令只适用于index_html,而chatbot应用程序似乎有某种基本url路径,我无法弄清楚。如果我检查流量,nginx将返回一个空白页。帮我调试一下这个。

EN

回答 1

Stack Overflow用户

发布于 2019-11-27 09:17:02

您可以用这个入口定义使用nginx-ingress控制器:(但是首先您需要在集群上部署nginx-ingress控制器,您可以使用这个链接)

代码语言:javascript
复制
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: alpha-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - host: alpha.com
    http:
      paths:
      - path: /bravo
        backend:
          serviceName: BravoService
          servicePort: 80
      - path: /charlie
        backend:
          serviceName: CharlieService
          servicePort: 80
      - path: /delta
        backend:
          serviceName: DeltaService
          servicePort: 80 # You could also use named ports if you already named the port in the service like bravo-http-port

这意味着您已经定义并部署了带有关联部署的服务。代表:

代码语言:javascript
复制
apiVersion: v1
kind: Service
metadata:
  name: BravoService
  labels:
    app: bravo
spec:
  type: NodePort
  selector:
    app: bravo
  ports:
    - name: bravo-http-port
      protocol: TCP
      port: 80
      targetPort: bravo-port
      nodePort: 8080

---

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: bravo-deployment
  labels:
    app: bravo
spec:
  # init with 3 replicas
  replicas: 1
  selector:
    matchLabels:
      app: bravo
  template:
    metadata:
      labels:
        app: bravo
    spec:
      containers:
      - name: bravo-container
        image: my-docker-repo/project:1.0
        ports:
        - name: bravo-port
          containerPort: 8080

如果你对此有更多的疑问,请不要犹豫。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59066393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档