我管理服务器,用户在其中拥有自己的网站,可以通过 FTP(如托管公司)访问,而不是致力于隔离 LAMP 堆栈进程,我想知道是否可以实现 Docker 并使用每个网站的图像。
据我了解,您可以通过其端口公开 Docker 实例,因此如果您在同一台服务器上运行两个 Docker 实例,则必须公开两个不同的端口。
但是是否可以不导出端口,而是导出服务器名称,例如:
而且,在同一台服务器中。
我想在服务器上只安装 Apache,这会根据服务器名称将请求重定向到专用的 Docker 实例,但随后我必须在任何 Docker 实例上安装 Apache(再次!)和 MySQL。
这是可能的,而且,这在性能方面是否有趣(或根本没有)?
感谢您的帮助。
这个问题在 StackOverflow 上被问过很多次,但我的问题有点不同:
我有多个子域网站:
如您所见,只有管理员通过 https 提供服务。
我在 Nginx 中成功创建了所有虚拟主机,并且效果很好。
但是现在,我想将所有尝试通过 https 访问其他子网站的客户端重定向到 http :
=> 只有管理员做相反的事情。
我的第一个想法是使用重定向设置每个 https 域:
server {
listen 443;
server_name www.example.com;
rewrite ^(.*) http://www.example.com$1;
}
Run Code Online (Sandbox Code Playgroud)
并为每个子域(www、my 和 client)执行此操作。
但这不起作用,我的浏览器出现 SSL 错误(SSL 记录太长)。
我怎样才能做到这一点?
谢谢你的帮助!
每三个月,我的 Let's Encrypt 证书就会过期,我的客户会获得无效的 https 证书。
所以我最近放置了以下 cron 任务:
@weekly certbot renew --quiet && service nginx reload
Run Code Online (Sandbox Code Playgroud)
据我了解,当certbot renew
成功更新证书时,它会返回成功状态(exit(0)),因此&&
紧随其后,因此重新加载nginx。
是的,但它不起作用。我最近让我的服务器再次显示过期的证书,所以我肯定误解了一些东西,和/或我的 cron 任务不好。
你能告诉我路径吗?:)