Mamp Pro 4 HTTP 和 HTTPS

Mamp Pro 4 HTTP and HTTPS

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

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

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

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

任何建议都很好。

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

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

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

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

Mamp 将以红色突出显示此内容,以警告您有两个相同的主机名。

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

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

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

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

  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>

Mamp Pro 5 2020 更新

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

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

TLDR; 按照 MrDuy 的回答中的前两个步骤进行操作:

  1. Open MAMP Pro

  2. File > Edit Template > 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>

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

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

干杯!