我的问题类似于这个问题,今天显然没有解决:/我正在按照本教程设置我的 Theia IDE,IDE 正在工作,但我希望我的 8080 端口打开以测试 node.js 后端我使用终端在 Theia IDE 上托管。这是我用于设置开放端口等的 docker-compose 文件:
version: '2.2'
services:
eclipse-theia:
restart: always
image: theiaide/theia:latest
init: true
environment:
- VIRTUAL_HOST=mydomainhere.com
- LETSENCRYPT_HOST=mydomainhere.com
version: '2'
services:
nginx-proxy:
restart: always
image: jwilder/nginx-proxy
ports:
- "80:80"
- "443:443"
- "8080:8080"
volumes:
- "/etc/nginx/htpasswd:/etc/nginx/htpasswd"
- "/etc/nginx/vhost.d"
- "/usr/share/nginx/html"
- "/var/run/docker.sock:/tmp/docker.sock:ro"
- "/etc/nginx/certs"
letsencrypt-nginx-proxy-companion:
restart: always
image: jrcs/letsencrypt-nginx-proxy-companion
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
volumes_from:
- "nginx-proxy"
如果我添加expose: - "8080"
到 eclipse-theia docker-compose 文件中,我会返回 502 错误......所以我猜这不是要走的路。我还尝试运行 netcat 来检查端口 8080 是否已打开。
更新
当我收到 502 错误时,我在日志中收到以下错误:
[error] 136#136: *21 no live upstreams while connecting to upstream
如果我ports: - "8080"
改为添加,则会收到 HSTS 错误。
更新 2
我按照以下答案的建议尝试了以下配置:
version: '2.2'
services:
eclipse-theia:
restart: always
image: theiaide/theia:latest
init: true
environment:
- VIRTUAL_HOST=mysubdomain1.domain.com,mysubdomain2.domain.com
- VIRTUAL_PORT=80,8080
- LETSENCRYPT_HOST=mysubdomain1.domain.com,mysubdomain2.domain.com
- LETSENCRYPT_EMAIL=mymail@domain.com
但这似乎也不起作用,端口 8080 似乎根本不起作用。我还尝试8080
在 nginx-proxy 配置上指定端口,但它不起作用:/