登录
首页 >  Golang >  Go问答

Caddy 服务器尝试打开端口 80 而不是 8090

来源:stackoverflow

时间:2024-04-11 13:03:34 103浏览 收藏

你在学习Golang相关的知识吗?本文《Caddy 服务器尝试打开端口 80 而不是 8090》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!

问题内容

这是我的 caddyfile:

localhost:8090
# log log/access.log

# tls sec/cert.pem sec/key.pem

我正在尝试运行 golang 应用程序:

% caddy run
2023/06/06 03:55:25.997 INFO    using adjacent Caddyfile
2023/06/06 03:55:25.999 INFO    admin   admin endpoint started  {"address": "localhost:2019", "enforce_origin": false, "origins": ["//localhost:2019", "//[::1]:2019", "//127.0.0.1:2019"]}
2023/06/06 03:55:26.000 INFO    tls.cache.maintenance   started background certificate maintenance      {"cache": "0xc000215c00"}
2023/06/06 03:55:26.000 INFO    http    enabling automatic HTTP->HTTPS redirects        {"server_name": "srv0"}
2023/06/06 03:55:26.001 INFO    tls     cleaning storage unit   {"description": "FileStorage:/home/me123/.local/share/caddy"}
2023/06/06 03:55:26.001 INFO    tls     finished cleaning storage units
2023/06/06 03:55:26.044 INFO    pki.ca.local    root certificate is already trusted by system   {"path": "storage:pki/authorities/local/root.crt"}
2023/06/06 03:55:26.044 INFO    http    enabling HTTP/3 listener        {"addr": ":8090"}
2023/06/06 03:55:26.044 INFO    http.log        server running  {"name": "srv0", "protocols": ["h1", "h2", "h3"]}
2023/06/06 03:55:26.044 INFO    tls.cache.maintenance   stopped background certificate maintenance      {"cache": "0xc000215c00"}
Error: loading initial config: loading new config: http app module: start: listening on :80: listen tcp :80: bind: permission denied

它与80端口有什么关系?我想在 8090 上运行它,为什么它不起作用?


正确答案


http    enabling automatic http->https redirects

当 caddy 知道其所服务的域名(即主机名)或 ip 地址时,它会隐式激活自动 https。效果之一是 http 被重定向到 https(默认情况下,这使用 http 端口 80)。

这就是使用端口 80 的原因。请注意,它也侦听配置的端口(op 中的 8090)。

因此,阻止其使用端口 80 的选项之一是阻止激活自动 https。执行以下操作之一:

  • 显式禁用它 via JSONvia Caddyfile。以下是 caddyfile 示例:
    {
        auto_https off # or "disable_redirects"
    }
  • 未在配置中提供任何主机名或 ip 地址。例如,将地址设置为:
    :8090
  • 在 caddyfile 中使用 http:// 作为站点地址前缀。例如:
    http://localhost:8090

另一个选项是指定用于 http via Caddyfile 的端口:

{
    http_port 801
}

http_port

httpport 指定用于 http(而不是 https)的端口,该端口在设置 http->https 重定向或 acme http 质询解决程序时使用。默认值:80。

参考号:Automatic HTTPS

理论要掌握,实操不能落!以上关于《Caddy 服务器尝试打开端口 80 而不是 8090》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>