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)。
- 启用 "sample.app" 主机名之一以使用 SSL
- 启用第二个主机条目 "sample.app" 以不使用 SSL。 (点击 + 时不要忘记按住 Alt 或 Option)
- 将两者指向同一个目录。
Mamp 将以红色突出显示此内容,以警告您有两个相同的主机名。
所以目前这是我所知道的针对此问题的唯一解决方案。
希望他们在未来的更新中解决这个问题,因为许多应用程序,尤其是电子商务依赖于在 http 和 https 之间切换的能力。
您可以在 Mamp Pro 文档中看到这一点 here。
我通过编辑模板得到了一个简单的解决方案:
- 打开 Mamp Pro
- 文件 > 编辑模板 > Apache > httpd-ssl.conf
- 在
之后添加这些行
<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 的回答中的前两个步骤进行操作:
Open MAMP Pro
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_MAMP
、MAMP_VirtualHost_Port_MAMP
等)中使用的占位符标记,但显然这些不会在文件中传递。这意味着如果您决定更改 HTTP 端口,您还必须手动更新此文件。
@MAMP,我们不能将其设为默认值吗? :`(
干杯!
在 Mamp Pro 4 中不能同时拥有 http 和 https 吗?我正在处理的应用程序需要两者都取决于页面。
我一定是遗漏了一些东西,因为当我启用 SSL 时它没有任何意义,只有 https 工作,然后 http 停止工作。
我试过http.conf,但真的不知道是什么原因造成的。
我认为它只是为 https 生成 vhost,然后删除 http。看起来你甚至不能手动编辑它。
任何建议都很好。
好吧更新我自己的 post 如果其他人有这个问题。
该软件目前无法在同一主机名上执行此操作。
根据 Mamp 支持,您必须创建两个具有相同名称的主机(例如 sample.app 和 sample.app)。
- 启用 "sample.app" 主机名之一以使用 SSL
- 启用第二个主机条目 "sample.app" 以不使用 SSL。 (点击 + 时不要忘记按住 Alt 或 Option)
- 将两者指向同一个目录。
Mamp 将以红色突出显示此内容,以警告您有两个相同的主机名。
所以目前这是我所知道的针对此问题的唯一解决方案。
希望他们在未来的更新中解决这个问题,因为许多应用程序,尤其是电子商务依赖于在 http 和 https 之间切换的能力。
您可以在 Mamp Pro 文档中看到这一点 here。
我通过编辑模板得到了一个简单的解决方案:
- 打开 Mamp Pro
- 文件 > 编辑模板 > Apache > httpd-ssl.conf
- 在 之后添加这些行
<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 的回答中的前两个步骤进行操作:
Open MAMP Pro
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_MAMP
、MAMP_VirtualHost_Port_MAMP
等)中使用的占位符标记,但显然这些不会在文件中传递。这意味着如果您决定更改 HTTP 端口,您还必须手动更新此文件。
@MAMP,我们不能将其设为默认值吗? :`(
干杯!