Dokku子域无法找到

问题描述 投票:0回答:1

我将一个应用程序部署到我的Digital Ocean Dokku实例,并设置了一个域,使得https://example.com(使用letsencrypt dokku插件)指向我的originalApp。我最近尝试在我的Dokku实例上部署第二个应用程序,以为我可以使用http://newApp.example.com访问它,并最终使用new-example.com来访问它。

但是,我无法访问我的新应用程序。 dokku domains:report收益率:

=====> newApp domains information
       Domains app enabled:           true
       Domains app vhosts:            new-example.com newApp.example.com
       Domains global enabled:        true
       Domains global vhosts:         example.com
=====> originalApp domains information
       Domains app enabled:           true
       Domains app vhosts:            example.com
       Domains global enabled:        true
       Domains global vhosts:         example.com

最终目标是让两个独立的域指向其各自的应用程序。 (这有可能吗?)但此刻,我甚至无法让子域工作。

我确认该应用程序由dokku logs newApp运行

在数字海洋>网络部分,我的newDomain.com拥有数字海洋NS记录以及我的Droplet IP的A记录。

这可能与我的nginx设置或letsencrypt有关吗?

nginx subdomain digital-ocean dokku
1个回答
0
投票

它可能,我已经用数字海洋水滴做了好几次,你最后会有你的迷你Heroku。让它工作是一种棘手的方法,但我会尝试解释我复制它的步骤。

首先,您需要使用dokku部署DO droplet以开始使用,并记住在安装时选择“User viartualhost命名为应用程序”选项。

In your DNS you will have to configure an A record to access your server with a domain that will hold your apps

A   *.apps.example.com   <public IP address>

您无需在服务器上部署两个应用程序即可开始配置。创建应用并进行部署(如果您需要帮助来部署它,请使用谷歌)。最后,您应该在服务器中看到这个:

root@server-dokku-apps:~# dokku apps:list
=====> My Apps
acme-website
bubba-gump-website

现在,您需要为每个dokku应用程序配置域

root@server-dokku-apps:~# dokku domains:add acme-website www.acmewebsite.com
-----> Added www.acmewebsite.com to acme-website
-----> Configuring www.acmewebsite.com...(using built-in template)
-----> Configuring acme-website.apps.example.com...(using built-in template)
-----> Configuring www.acmewebsite.com...(using built-in template)
-----> Creating https nginx.conf
-----> Running nginx-pre-reload
       Reloading nginx

root@server-dokku-apps:~# dokku domains:add bubba-gump-website www.bubbagump.com
-----> Added www.bubbagump.com to bubba-gump-website
-----> Configuring www.bubbagump.com...(using built-in template)
-----> Configuring bubba-gump-website.apps.example.com...(using built-in template)
-----> Configuring www.bubbagump.com...(using built-in template)
-----> Creating https nginx.conf
-----> Running nginx-pre-reload
       Reloading nginx

到目前为止,我们应该检查可以使用以下链接访问应用程序(目前只有http)

http://acme-website.apps.example.com
http://bubba-gump-website.apps.example.com

如果一切正常,我们现在需要配置每个域指向具有一些CNAME记录的正确应用程序。

# In your www.acmewebsite.com DNS records
CNAME   www.acmewebsite.com   www.acmewebsite.com.apps.example.com

# In your www.bubbagump.com DNS records
CNAME   www.bubbagump.com   www.bubbagump.com.apps.example.com

最后一步是在每个应用程序上配置letsencrypt。让letsenpt为你获得一个新的灵感证书你的新域名ex。需要访问www.acmewebsite.com,这就是我们首先需要放置DNS CNAME的原因。请记住在您的服务器上安装dokku-letsencrypt

# First for acme website
root@server-dokku-apps:~# dokku letsencrypt acme-website

# Finally for buba website
root@server-dokku-apps:~# dokku letsencrypt bubba-gump-website

在所有这些混乱之后,你应该有两个闪亮的应用程序在他们自己的域中运行https启用。

希望能帮助到你。

© www.soinside.com 2019 - 2024. All rights reserved.