无法使用httpd(CentOS)将虚拟主机绑定到不同的端口

时间:2016-04-13 21:57:22

标签: apache .htaccess redirect httpd.conf vhosts

我有一个使用CentOS和Apache的VDS。我使用的是基于虚拟机的主机,因此我拥有域名' my.domain'很少有子域名,例如⊂ my1.my.domain',' sub2.my.domain'每个人在/ etc / httpd / conf / vhosts /.

中都有自己的配置文件

我需要将所有连接从sub1.my.domain:8080重定向到another.web.site:8080。所以我在sub1.my.domain的根目录下的.htaccess文件中添加了这些行:

RewriteEngine On 
RewriteCond %{SERVER_PORT} 8080
RewriteCond %{REQUEST_URI} ^/
RewriteRule (.*) http://another.web.site:8080

但它不会起作用,因为网络服务器只能监听端口80.所以我用这种方式修改了/etc/httpd/httpd.conf:

Listen 80
Listen 8080

并修改了sub1.my.domain的vhost文件。而不是......

<VirtualHost myserverip:80>
    ServerName sub1.my.domain
    AddDefaultCharset off
    AssignUserID www-root www-root
    DirectoryIndex index.html
    DocumentRoot /var/www/www-root/data/www/sub1.my.domain
...
</VirtualHost>

...现在内容

<VirtualHost myserverip:8080>
    ServerName sub1.my.domain
    AddDefaultCharset off
    AssignUserID www-root www-root
    DirectoryIndex index.html
    DocumentRoot /var/www/www-root/data/www/sub1.my.domain
...
</VirtualHost>

正如official documentation中所述,我已添加新端口以侦听httpd配置并设置新端口以解析域的虚拟主机配置。但是,当我尝试打开sub1.my.domain:8080时,我收到错误 - 浏览器无法解析该地址。我甚至通过iptables转发8080端口,重启整个服务器但没有任何帮助。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

整天都花了很多时间来了解fail2ban会阻止所有到8080的连接。我已经通过iptables将规则添加到了fail2ban表中,一切都像魅力一样。