我有一个域名.. sub.example.com,您可以通过端口80访问。
每次用户搜索该域名时,我都想获得redirect to port 8096
,但用户不应该意识到这一点。
有没有人建议如何配置vHost
?
答案 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