重定向服务的端口可以使用iptables而不是mod_proxy

时间:2013-10-11 18:02:18

标签: unix jira iptables mod-proxy masking

我有一个在http端口8080和https端口8443上运行的服务,所有到端口8080的流量都被重定向到https 8443,这是在server.xml本身配置的。

要求:

使用端口80,8080,443,8443时的所有流量都应转移到8443而不会在URL下显示端口号

可能的解决方案:

我知道使用mod_proxy,masking和反向代理我们可以实现它(http://www.pothireddy.com/knowledge/environment/masking/


问题在于我们是否可以使用IPTABLES来实现而不是mod_proxy解决方案,如果是这样,我们怎样才能实现它....

已经尝试过这样的事情:

iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8443 解决了当某人遇到443端口时的问题

  1. 当有人明确点击端口8443时,显示端口8443 在网址上?我们可以实现类似....只是为了掩盖 端口8443 iptables -t nat -A PREROUTING -p tcp --dport 8443 -j REDIRECT --to-port 8443

  2. 当我尝试时,如何将流量从端口80重定向到端口8443 使用下面的命令,看起来很混乱转移 从http端口到https端口的流量? iptables -t nat -A PREROUTING -p tcp --dport 8443 -j REDIRECT --to-port 8443

  3. 解决上述两个问题的任何可能的解决方案?

1 个答案:

答案 0 :(得分:0)

如果你使用的是apache web-server,你可以在某个端口创建新的虚拟主机 http://wiki.apache.org/httpd/RedirectSSL

NameVirtualHost *:8080
<VirtualHost *:8080>
   ServerName mysite.example.com
   DocumentRoot /usr/local/apache2/htdocs
   Redirect permanent /secure https://mysite.example.com/secure:8443
</VirtualHost>

<VirtualHost _default_:8443>
   ServerName mysite.example.com
   DocumentRoot /usr/local/apache2/htdocs
   SSLEngine On
# etc...
</VirtualHost>