重定向Apache子域:80到8096

时间:2016-12-02 22:29:28

标签: linux bash apache redirect port

我有一个域名..     sub.example.com,您可以通过端口80访问。

每次用户搜索该域名时,我都想获得redirect to port 8096,但用户不应该意识到这一点。

有没有人建议如何配置vHost

1 个答案:

答案 0 :(得分:0)

您可以使用重定向到端口80到8096或使用代理配置。

对我来说,代理服务器就更好了,因为客户端没有在他的网络浏览器中查看您的端口8096

代理配置示例:

Firts确保apache在端口8096上监听:

netstat -laputen|grep 8096

如果您没有回复,请检查/etc/apache2/ports.conf中的侦听端口:

  

听8096

重新启动apache并重新检查netstat中的LISTEN

service apache2 restart
netstat -laputen|grep 8096

如果不是apache谁听端口8096,你只需要创建vhost来侦听端口80,而不是8096

在apache2中启用代理模块:

a2enmod proxy proxy_http

重启apache:

service apache2 restart

创建虚拟主机:

  

/etc/apache2/sites-available/sub2_example_com.conf

<VirtualHost *:80>
        # Just listen to sub2.example.com, the others sub-domain going to the default Vhost
        ServerName sub2.example.com

        ProxyPreserveHost On
        ProxyPass / http://127.0.0.1:8096/
        ProxyPassReverse / http://127.0.0.1:8096/
</VirtualHost>

# Just if is not another app who listening to port 8096
<VirtualHost *:8096>
        ServerName sub2.example.com

        ServerAdmin webmaster@example.com
        DocumentRoot /var/www/my_website

        ErrorLog ${APACHE_LOG_DIR}/my_website_error.log
        CustomLog ${APACHE_LOG_DIR}/my_website_access.log combined

</VirtualHost>

启用虚拟主机:

a2ensite sub2_example_com.conf

重新加载Apache:

service apache2 reload

在sub2.example.com中打开您的网络浏览器,apache重定向端口8096中的所有请求

Doc apache: https://httpd.apache.org/docs/current/mod/mod_proxy.html