[英]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 文件設置一些東西嗎?
謝謝
我認為如果你想要證書,你需要url
和letesencrypt_host
和letsencrypt_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.