我正在尝试将我的应用程序迁移到docker,但是使用Apache我遇到了一些麻烦。我将我的site.conf添加到apache(这很好):
<VirtualHost *:80>
ServerName example.com.
ServerAlias api.example.com
Redirect permanent / https://www.example.com/
</VirtualHost>
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
RewriteEngine on
RewriteOptions inherit
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
<VirtualHost *:443>
ServerName www.example.com
ServerAlias www.example.com
SSLEngine on
SSLCertificateFile /etc/apache2/external/certificate.crt
SSLCertificateKeyFile /etc/apache2/external/private.key
SSLCACertificateFile /etc/apache2/external/ca_bundle.crt
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
ProxyPass / http://example:8090/
ProxyPassReverse / http://example:8090/
RewriteEngine on
RewriteOptions inherit
</VirtualHost>
但是当我尝试添加带有子域的新虚拟主机时,容器无法启动:
<VirtualHost *:80>
ServerName sub1.example.com
ServerAlias sub1.example.com
ProxyPreserveHost On
ProxyPass / http://myapp2:8090/
ProxyPassReverse / http://myapp2:8090/
</VirtualHost>
<VirtualHost *:80>
ServerName sub2.example.com
ServerAlias sub2.example.com
ProxyPreserveHost On
ProxyPass / http://myapp2:8090/
ProxyPassReverse / http://myapp2:8090/
</VirtualHost>
我将日志文件从容器复制到我的主机,但errors.logs文件没有显示任何重大错误,因为它无法启动。 docker logs container-name命令也没有多大帮助。
知道可能的错误吗?
我终于找到了解决方案。我创建了一个新配置(new_site.conf)并添加了我的虚拟主机配置。然后我启用它(a2ensite new_site.conf),我重新启动了服务,一切都还在运行。我试图通过网址访问,它将我重定向到我的应用程序。