【问题标题】:Mamp Pro 4 HTTP and HTTPSMamp Pro 4 HTTP 和 HTTPS
【发布时间】:2017-02-25 22:31:11
【问题描述】:

Mamp Pro 4 中不可能同时拥有 http 和 https 吗?我正在处理的应用程序需要两者都取决于页面。

我一定遗漏了一些东西,因为当我启用 SSL 时,只有 https 有效,然后 http 停止工作,这是没有意义的。

我尝试浏览 http.conf,但真的不知道是什么原因造成的。

我认为它只是为 https 生成虚拟主机,然后删除 http。看起来你甚至不能手动编辑它。

任何建议都会很棒。

【问题讨论】:

  • Mamp 没有论坛或技术支持来提出此类问题吗?
  • mamp.info/en/mamp-pro 如果您进入“更多”。 -> 。第三个链接指向哪里?我已经尝试过用票在那里寻求帮助。
  • 您能否解释一下您收到的错误,当 HTTP 不工作时?

标签: mamp mamp-pro


【解决方案1】:

2020 年更新的 Mamp Pro 5

要标记 MrDuy 的出色响应,因为 Alt 单击 + 似乎在 V5 中不起作用,编辑 httpd-ssl.conf 模板似乎是要走的路。

但是,MrDuy 的回答假设您在 MAMP 中使用端口 80 进行 HTTP,这不是默认的 8888。此外,我不能代表 MAMP PRO 4 用户,sn-p 需要放在 @ 之前文件底部的 987654321@ 行,显然这是 MAMP 用于在 GUI 中进行主机迭代的结束标记。

TLDR; 按照 MrDuy 回答中的前两个步骤:

  1. 打开 MAMP 专业版

  2. 文件 > 编辑模板 > Apache > httpd-ssl.conf

然后,在文件底部,找到带有MAMP_SSLVirtualHost_iteration_end_MAMP 的行,在此行之前粘贴以下内容:

<VirtualHost *:8888>
    ServerName MAMP_SSLVirtualHost_ServerName_MAMP
    MAMP_SSLVirtualHost_ServerAdmin_MAMP
    MAMP_SSLVirtualHost_DirectoryIndex_MAMP
    DocumentRoot MAMP_SSLVirtualHost_DocumentRoot_MAMP
</VirtualHost>

在它的非 SSL 配置文件(MAMP_VirtualHost_IP_MAMPMAMP_VirtualHost_Port_MAMP 等)中使用 MAMP 使用的占位符标记会很好,但显然这些不会在文件中传递。这意味着如果您决定更改 HTTP 端口,您还必须手动更新此文件

@MAMP,我们不能将其设为默认值吗? :`(

干杯!

【讨论】:

  • 我还应该补充一点,通常会使用此设置来测试,即将 http 请求重定向到安全的 https 请求
【解决方案2】:

好吧,更新我自己的帖子,如果其他人有这个问题。

该软件目前无法在同一主机名上执行此操作。

根据 Mamp 支持,您必须创建两个具有相同名称的主机(例如 sample.app 和 sample.app。)。

  1. 启用“sample.app”主机名之一以使用 SSL
  2. 启用第二个主机条目“sample.app”以不使用 SSL。 (点击 + 时不要忘记按住 Alt 或 Option)
  3. 将两者指向同一个目录。

Mamp 将用红色突出显示它,作为它警告您有两个相同的主机名。

因此,目前这是我知道的针对此问题的唯一解决方案。

希望他们在未来的更新中解决这个问题,因为很多应用程序,尤其是电子商务依赖于在 http 和 https 之间切换的能力。

您可以在 Mamp Pro 文档here 上看到这一点。

【讨论】:

  • 这实际上是我在黑客配置之外唯一有用过的东西。 +1
  • 我无法弄清楚如何添加第二个同名主机,直到我意识到在按下加号绕过“正在创建新主机:”弹出窗口时必须按住 ALT。不过,我还没有在任何地方看到这个记录。我使用的是 MAMP Pro v4.1.1 和 macOS Sierra v10.12.3。
  • 为我工作,谢谢!确实感觉您不应该在 Mamp Pro 中执行此“解决方法”,您应该能够在设置为需要同时启用 http 和 https 的网站时点击一个复选框。
【解决方案3】:

我通过编辑模板得到了一个简单的解决方案:

  1. 打开 Mamp Pro
  2. 文件 > 编辑模板 > Apache > httpd-ssl.conf
  3. 之后添加这些行

<VirtualHost *:80> ServerName MAMP_SSLVirtualHost_ServerName_MAMP MAMP_SSLVirtualHost_ServerAdmin_MAMP MAMP_SSLVirtualHost_DirectoryIndex_MAMP DocumentRoot MAMP_SSLVirtualHost_DocumentRoot_MAMP </VirtualHost>

【讨论】:

  • 就我而言,这是正确的答案,因为它应该在真实服务器上进行设置。
猜你喜欢
  • 2015-04-25
  • 1970-01-01
  • 2017-11-01
  • 1970-01-01
  • 2015-01-07
  • 1970-01-01
  • 2017-05-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多