HTTPS 与代理

80 和 443 端口被占用

Lerd、Laravel Herd、Valet、Apache、Caddy、MAMP、DDEV 或某个容器占用了代理的端口:Joppa 如何指出它,并提供停止它的正确方式。

Joppa 的代理需要 443 端口(HTTPS),以及用于重定向的 80 端口。同一时间只有一个程序能监听某个端口:如果其他本地服务器已经占用了它们,Joppa 就无法启动代理。这时它会告诉你是谁占用了端口,并提议按照该工具自己的方式停止它,绝不会盲目地杀掉某个进程。

横幅

当代理因端口被占用而无法启动时,窗口顶部的红色横幅会显示「端口 443 被 … 占用」,以及 Joppa 找到的信息:工具名称、PID、用户和可执行文件路径(或者容器及其运行时)。剩下的交给按钮:它会停止占用者,等待端口释放,然后启动代理。

代理横幅:端口 443 被 Laravel Herd 占用,提供“停止 Laravel Herd 并启动”

占用者 按钮 Joppa 的操作
Lerd(它的 nginx,运行在 Podman 中) 停止 Lerd 并启动 lerd stop
Laravel Herd 停止 Laravel Herd 并启动 herd stop(没有 herd 命令时:从菜单栏退出 Herd)
Laravel Valet(以 root 运行的 Homebrew nginx) 停止 Laravel Valet 并启动 以 root 运行 brew services stop nginx,需要你的密码
macOS 自带的 Apache(/usr/sbin/httpd) 停止 Apache (macOS) 并启动 apachectl stop,需要你的密码
Homebrew 服务(nginx、httpd、caddy…) 停止 … 并启动 brew services stop <formula>
systemd 服务(Linux:nginx、apache2、caddy…) 停止 … 并启动 systemctl stop <unit>,需要你的密码
Caddy 停止 Caddy 并启动 caddy stop
MAMP 停止 MAMP 并启动 它的 stopApache.sh 脚本,需要你的密码
DDEV(它的路由器 ddev-router) 停止 DDEV 并启动 ddev poweroff
容器中的 Laravel Sail 或 Traefik 停止 Laravel Sail 并启动(或 Traefik) docker stop <container>(或 podman stop)
其他容器 停止容器并启动 docker stop <container>(或 podman stop)
你自己的其他进程 结束 … 并启动 经你确认后,向它发送停止信号

按钮旁会显示等效的命令,如果你更愿意自己运行也可以。在动手之前,Joppa 会确认占用者自显示以来没有变化。

当占用者是 Lerd、Herd、DDEV 或 Sail 时,横幅还会提供 将其站点迁移到 Joppa…:参见 从 Lerd、Herd、DDEV 或 Sail 迁移。

仅 80 端口被占用

如果只有 80 端口被占用,代理仍会启动:HTTPS 可以使用,但 http:// 不再重定向到 https://。此时 设置 › 代理 会指出 80 端口的占用者,并提供 释放端口 80:Joppa 以同样的方式停止它,然后带着重定向重新启动代理。

Lerd

Lerd 同样在 80 和 443 端口上提供 .test 站点:两者无法同时提供服务。启动代理时,如果 Lerd 的 nginx 占用了端口,横幅会提供 停止 Lerd 并启动。

停止 Lerd 会停止它的容器(nginx、PHP-FPM、服务),但不会停止它的 DNS 解析:你的 .test 域名仍然指向你的机器,Joppa 也会保留这项解析(参见 解析 .test 域名)。

getjoppa.com › support

加载中

发送不了?请写信至 [email protected]。只是简单的问题:[email protected]。