Düğüm (ExpressJS) uygulamam için bir proxy sunucusu olarak nginx dockerized bir sürümünü kullanmaya çalışıyorum. Kapsayıcı için nginx ve yayınlama noktası 80'e herhangi bir yapılandırma olmadan, varsayılan nginx açılış sayfasını görebiliyorum. Bu yüzden çok çalıştığını biliyorum.Nginx docker kabı ile localhost'taki bir sunucuya nasıl erişirim?
Artık siteler için etkin olan ve proxy_pass localhost:3000
yapılandırmasını içeren dizini bağlayabilirim. Düğüm uygulamam yerel olarak çalışıyor (herhangi bir Docker kapsayıcısında değil) ve onu 3000 numaralı bağlantı noktası üzerinden erişebiliyorum (ör. localhost:3000
). Ancak, nginx kapsayıcı çalıştıran, bağlantı noktası 80'e eşlenen ve localhost: 3000'i proxy'lediğimde, çok basit (merhaba dünya) uygulamamı görebileceğimi varsayalım. Bunun yerine 502.
Bir şeyi docker'a iletmem gerekiyor mu? Bu muhtemelen bir nginx yapılandırma hatası mı? Ben this question kullanarak denedi ama yardımcı görünmüyordu
server {
listen 0.0.0.0:80;
server_name localhost;
location/{
proxy_pass http://localhost:3000;
}
}
: İşte benim nginx yapılandırmasıdır. Tamamen yanlış bir şey yapmadığım sürece.
[Yerel MySQL Sunucusuna Docker ile Bağlanın?] Olası kopyası (http://stackoverflow.com/questions/27556301/connect-to-local-mysql-server-through-docker) – Bryan
Bunu denedim ve işe almak için görünmüyordu. Bunun benzer bir soruyu birçok kez sorduğunu biliyorum ve aldığım 502 hatası da vardı, ama bunların hiçbiri işe yaramadı. İşten eve döndüğümde tekrar kontrol edeceğim. –
DNS ftw, imo. Ev sahibinin bir ismi vardır;) – user2105103