使用 SSL(https)和来自提供商的一个静态 IP 访问 2 个不同的网站

使用 SSL(https)和来自提供商的一个静态 IP 访问 2 个不同的网站

情况:2 个专用 LAMP 服务器(CentOS + Ubuntu)、一个静态 IP 地址、一个路由器。

第一台服务器内部 IP :192.168.0.60 - Web 托管服务器

路由器配置中转发的端口:21、22、80、443、993、465 等

第二台服务器内部 IP:192.168.0.61 - 文件共享服务器 - Owncloud

路由器配置中转发的端口:8001(我已将 Apache2 更改为监听此端口)、2222(我已将 sshd 更改为监听此端口)和 54(将 BIND 更改为监听此端口)。所有这些端口都已更改,因为它们已被第一台服务器使用。​

如果我在地址栏中输入第一个服务器的网站,一切正常,并且 https(安全连接)

如果我在地址栏中输入第二台服务器的主机名(例如http://主机名.domain.com:8001/owncloud)一切正常,Owncloud 界面正在加载,我可以登录等等。

考虑到 443 已经转发到第一个服务器(在路由器配置中),我该如何让它与 https 一起工作。

我尝试在 Apache ssl.conf 中将监听端口更改为 444,然后在路由器配置中转发该端口,但无法正常工作。我还尝试使用 iptables 将第二台服务器中的 443 根目录更改为 444,但没有成功。

如有任何建议,我们将不胜感激。

答案1

由于您已在第一台服务器上运行 Apache,并且(大概)已为其设置了 SSL,因此您可以使用相同的 Apache 实例来反向代理到第二台服务器。

还值得一提的是,您可以在非默认端口上拥有一个功能齐全的 HTTPS 站点,尽管某些防火墙可能会阻止对此类端口的访问。

对于您的具体情况,可以通过将其添加到服务器 1 上的 apache 的 ssl 配置中来完成:

ProxyPass "/owncloud" "http://192.168.0.61/"
ProxyPassReverse "/owncloud" "http://192.168.0.61"

确保还检查了如何安装和启用所需mod_proxy模块的文档。

在 NGINX 上,你可以通过将此端点添加到 http 配置来实现这一点

location /ownclouf/ {
    proxy_pass http://192.168.0.61/;
}

相关内容