不确定如何更改根目录以远离我的 HTTP 站点内容

Posted

技术标签:

【中文标题】不确定如何更改根目录以远离我的 HTTP 站点内容【英文标题】:Unsure how to change Root Directory to point away from my HTTP sites content 【发布时间】:2021-12-28 23:34:42 【问题描述】:

我目前在 Ubuntu 上通过 SSH 连接到我的 AWS VM IP 地址。

我已经安装了 Apache SSL 模块,将我的服务器证书和私钥复制到 /etc/pki/tls/certs/etc/pki/tls/private。更改了 /etc/httpd/conf.d/ssl.conf 中的配置,使其监听端口 4443。

从这里开始,我需要将文档根目录更改为不同于我的 nginx HTTP 站点的内容,否则 HTTPS 和 HTTP 将指向相同的内容。

有人告诉我要使用独立的目录树,但不确定如何设置。

我尝试转到/etc/httpd/conf/httpd.conf 并将文档根目录更改为我设置的目录以将它们分隔在/etc/ 中,但在尝试访问该网站时仍然给我相同的消息,如屏幕截图所示。

url of test page HTTPS

test page HTTPS

【问题讨论】:

浏览器中的地址必须是https://SOMETHING:4443/。看起来您尝试使用 http://SOMETHING:4443/ 啊,加载了一个站点,但它在 URL 中划掉了 HTTPS,如图所示,并将其显示为 HTTP 服务器?这是我应该看到的吗 【参考方案1】:

如果您添加端口,您的网站会显示吗?例如,https://yoursite.com:4443。端口 4443 不是默认的 https 端口(即 443),因此您需要明确引用它。

相反,您可能希望考虑在 EC2 实例前面使用 ALB 并在那里终止 SSL,从而使 EC2 实例上的 httpd/nginx 服务器仅在端口 80 上运行(默认)。这个offloads the SSL handling to the load balancer 还使您能够执行滚动升级到新 EC2 实例等操作,而不是保留“宠物”网络服务器。

【讨论】:

是的,它允许我现在访问,但不确定我是否应该看到这个,我添加了更新链接到我在帖子中看到的内容 浏览器地址栏中的 https 被划掉了 https,因为您使用的是尚未安装到本地系统 CA 的自签名 SSL 证书。 There's many ways to handle that。该页面本身看起来像是发行包的默认设置。您需要更改配置文件中的路径以使用您想要的路径,或者将默认位置的文件替换为您自己的。 我可以在配置文件中更改时使用任何路径吗?或者您推荐一个位置来保存它不会出现任何错误? 您可以使用任何您想要的文件系统路径,但您似乎是 Apache Httpd 的新手,您可能希望坚持在虚拟主机的 DocumentRoot 参数中声明的默认值。默认情况下,它类似于 Ubuntu 中的 /var/www。

以上是关于不确定如何更改根目录以远离我的 HTTP 站点内容的主要内容,如果未能解决你的问题,请参考以下文章

在 asp.net 中确定站点的绝对、完全限定的 url

如何确定 Lightstreamer / Ajax 彗星推送数据更改了哪些内容?

如何将承载令牌添加到 HTTP 请求的标头?

如何通过Dreamweaver批量对整个站点或目录进行代码搜索或部分全部替换

如何通过 ASP.NET Core 3 中的中间 Web API 传递未更改的 HTTP 响应?

在一个页面站点的某一点更改菜单颜色