我将一个应用程序部署到我的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
有关吗?
它可能,我已经用数字海洋水滴做了好几次,你最后会有你的迷你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启用。
希望能帮助到你。