簡體   English   中英

如何使用 jwilder/nginx-proxy 設置反向代理?

[英]How to set reverse proxy using jwilder/nginx-proxy?

我正在嘗試使用jwilder/nginx-proxy容器設置反向代理。

我有一個小型 Express 應用程序:

var express = require("express");
var app = express();

app.get("/api", (req, res, next) => {
  res.json({ hello: "world" });
});

app.listen(3000, () => {
  console.log("Server running on port 3000");
});

和一個docker-compose.yml

version: "3.4"
services:
  reverse-proxy:
    image: jwilder/nginx-proxy
    ports:
      - 80:80
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro
    networks:
      - testt

  testt:
    container_name: testt
    image: node:lts
    working_dir: /var/www/html/app/
    entrypoint: /bin/bash
    environment:
      - HOST=0.0.0.0
      - VIRTUAL_HOST=testt.dev # for reverse proxy
      - VIRTUAL_PORT=3000 # for reverse proxy
    ports:
      - 3000:3000
    volumes:
      - ./testt/:/var/www/html/app
    tty: true
    networks:
      - testt

networks:
  testt:
    external: true

這就是我設置的所有內容。 沒有其他的。

當我運行localhost:3000/api時,我得到了預期的結果{"hello":"world"} 當我在瀏覽器中運行http://testt.dev/api時,我希望得到同樣的結果,但它不起作用(DNS_PROBE_FINISHED_NXDOMAIN)。

我還需要設置什么以及在哪里設置? 我必須為 HOSTS 文件設置一些東西嗎?

謝謝

我認為如果你想要證書,你需要urlletesencrypt_hostletsencrypt_email 嘗試:

version: '3.7'
services:

    ghost01:
        image: "ghost"
        user: "1000"
        environment:
            - url=https://test01.zathras.io
            - VIRTUAL_HOST=test01.zathras.io
            - VIRTUAL_HOST_ALIAS=test01.zathras.io
            - LETSENCRYPT_HOST=test01.zathras.io
            - LETSENCRYPT_EMAIL=qdzlug@gmail.com
        networks:
            - webproxy
networks:
    webproxy:
        external: true

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM