为端口创建别名

Posted

技术标签:

【中文标题】为端口创建别名【英文标题】:Create an alias for port 【发布时间】:2012-11-15 10:45:45 【问题描述】:

我真的不知道如何解决这个问题。我需要在地址http://sub.domain.com/ 上加载页面http://domain.com:12345/。

当我只有一个 IP 地址时,我应该如何在 Apache 上设置 VirtualHost 或 Alias?

非常感谢。


现在我只有这个:

ports.conf:

NameVirtualHost domain.com:80
NameVirtualHost sub.domain.com:80
Listen *:80

<IfModule mod_ssl.c>
    Listen *:443
</IfModule>

<IfModule mod_gnutls.c>
    Listen *:443
</IfModule>

.../sites-available/默认值:

<VirtualHost domain.com:80>
        ServerAdmin admin@domain.com
        ServerName domain.com
        DocumentRoot /var/www
        ...
</VirtualHost>

<VirtualHost sub.domain.com:80>
        ServerAdmin admin@domain.com
        ServerName sub.domain.com
        ProxyPass / http://www.domain.com:12345/
        ProxyPassReverse / http://www.domain.com:12345/
</VirtualHost>

但这不起作用。 sub.domain.com 返回 500 内部服务器错误。

【问题讨论】:

【参考方案1】:

解决方案是虚拟主机:

如果您想在您的服务器上维护多个域/主机名 您可以为它们设置 VirtualHost 容器。大多数配置 仅使用基于名称的虚拟主机,因此服务器无需担心 IP 地址。这由以下指令中的星号表示。

请参阅文档 http://httpd.apache.org/docs/2.2/vhosts/ 在尝试设置虚拟主机之前了解更多详细信息。

您可以使用命令行选项“-S”来验证您的虚拟主机 配置。

下面是一个配置示例:

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
    ServerAdmin postmaster@dummy-host.localhost
    DocumentRoot "C:/Program Files (x86)/www/htdocs/dummy-host.localhost"
    ServerName dummy-host.localhost
    ServerAlias www.dummy-host.localhost
    ErrorLog "logs/dummy-host.localhost-error.log"
    CustomLog "logs/dummy-host.localhost-access.log" combined
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin postmaster@dummy-host2.localhost
    DocumentRoot "C:/Program Files (x86)/www/htdocs/dummy-host2.localhost"
    ServerName dummy-host2.localhost
    ServerAlias www.dummy-host2.localhost
    ErrorLog "logs/dummy-host2.localhost-error.log"
    CustomLog "logs/dummy-host2.localhost-access.log" combined
</VirtualHost>

【讨论】:

它没有回答OP的问题,如何设置端口重定向? OP 还尝试使用 VirtualHost 解决它(如此处所建议),但问题有所不同。 @max 您可以定义虚拟主机的端口,如果需要,您可以设置重定向

以上是关于为端口创建别名的主要内容,如果未能解决你的问题,请参考以下文章

为“管道 grep”创建别名

为 OpenMP 函数创建别名 ||部分禁用 openMP

为啥 Mockery 无法为我的模型创建别名

无法为长命令创建 bash 别名或函数

django sqlite 为别名'default'创建测试数据库

光纤交换机配置(备忘)