【问题标题】:Port based virtual hosts on apacheapache上基于端口的虚拟主机
【发布时间】:2013-07-21 11:23:16
【问题描述】:

httpd.conf 在 apache 服务器上设置如下:

Listen 80
Listen 78

ServerName 162.13.46.59
DocumentRoot /var/www/ftl-media

NameVirtualHost 162.13.46.59:78

<VirtualHost 162.13.46.59:78>
     ServerName 162.13.46.59
     DocumentRoot /var/www/vapetropolis
</VirtualHost>

但是,对端口 78 的请求不起作用。 “糟糕!谷歌浏览器无法连接到 162.13.46.59:78”。

这个配置有什么问题?

【问题讨论】:

  • 您有防火墙阻止端口 78 吗?它不是一个普通的 HTTP 端口,因此默认情况下可能会被阻止。
  • 不,端口没有被阻塞。设置此 iptables 规则,但仍然无法正常工作: iptables -A INPUT -i eth0 -p tcp --sport 78 -m state --state ESTABLISHED -j ACCEPT
  • 我现在没有 Apache 实例来测试这个,但是如果你删除 NameVirtualHost 行会发生什么?我只是基于 Apache 文档的想法,在“在不同端口上运行不同的站点”部分中没有该行:httpd.apache.org/docs/current/vhosts/examples.html

标签: apache httpd.conf virtual-hosts


【解决方案1】:

一般来说,端口号小于 1024 的进程需要以 root 身份运行。这与其说是防火墙问题,不如说是安全策略——这些端口是为系统进程保留的。

如果要使用 78 端口,需要进行一些配置。

也许这个问题会有所帮助?

Is there a way for non-root processes to bind to "privileged" ports on Linux?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-26
    • 2021-05-03
    • 2016-05-02
    • 1970-01-01
    • 2013-03-15
    • 2021-08-20
    • 1970-01-01
    相关资源
    最近更新 更多