首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache无法绑定:即使端口443未使用,SSL的地址为443

Apache无法绑定:即使端口443未使用,SSL的地址为443
EN

Stack Overflow用户
提问于 2017-01-03 18:41:35
回答 2查看 9.3K关注 0票数 3

最近,我使用OpenSS1.0.2j安装了带有SSL的Apache2.4.20。

在更新httpd.conf和httpd-ssl.conf文件并尝试在侦听端口443时启动Apache后,我得到以下错误:

代码语言:javascript
复制
(13)Permission denied: -----: make_sock: could not bind to address [::]:443
(13)Permission denied: -----: make_sock: could not bind to address 0.0.0.0:443
no listening sockets available, shutting down

下面是配置的内容:

httpd.conf:

代码语言:javascript
复制
Listen 51000
#Listen 443
#Secure (SSL/TLS) connections
Include conf/extra/httpd-ssl.conf

httpd-ssl.conf

代码语言:javascript
复制
Listen 443

如果我在httpd-ssl.conf文件中注释掉了这一行,那么我的apache就可以正常启动:

代码语言:javascript
复制
attempting to start apache
done

但是,每次使用它,我都会得到套接字错误。

我以root用户的身份运行了以下命令:

代码语言:javascript
复制
netstat -tlpn | grep :443

什么也没回。

代码语言:javascript
复制
lsof -i tcp:443

什么也没回。

我在某个地方读到,只有根可以绑定到1024以下的地址,但我不知道该语句的有效性。Apache不是作为root在这里运行的--这就是问题所在吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-03 18:48:21

问题是,443是一个特权端口,您正在尝试以非根用户的身份进行侦听。

见:特权端口为什么特权端口仅限于root

还有一些方法可以让非root用户绑定到特权端口。

票数 3
EN

Stack Overflow用户

发布于 2020-06-02 12:47:00

如果你用的是对接-合成,

当我们使用一个非根容器(如bitnami官方图像)时,就会发生这种情况。

我们使用用户:根network_mode: host,当它需要与主机网络绑定时。

代码语言:javascript
复制
  apache:
    image: bitnami/apache:2.4
    container_name: "apache"
    ports:
      - 80:80
    network_mode: host
    privileged: true
    user: root
    environment:
      DOCKER_HOST: "unix:///var/run/docker.sock"
    env_file:
      - .env
    volumes:
      - ./setup/apache/httpd.conf:/opt/bitnami/apache/conf/httpd.conf

希望能帮上忙!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41450260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档