小编Jam*_*s G的帖子

创建接受HTTPS的Java代理服务器

我已经有一个可以处理多个HTTP请求的工作HTTP代理服务器.现在我的问题是如何处理https请求?

这是我正在使用的简化代码:

class Daemon
{
    public static void main(String[] args)
    {
        ServerSocket cDaemonSocket = new ServerSocket(3128);

        while(true)
        {
          try
          {
             Socket ClientSocket = cDaemonSocket.accept();
             (new ClientHandler(ClientSocket )).start();
          }catch(Exception e) { }
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

和ClientHandler

class ClientHandler extends Thread
{
        private Socket socket = null;
        private Socket remoteSocket = null;
        private HTTPReqHeader request = null;
        ClientHandler(Socket socket)
        {
           this.socket = socket;
           request = new HTTPReqHeader();
           request.parse(socket); // I read and parse the HTTP request here
        }

       public void run()
       { …
Run Code Online (Sandbox Code Playgroud)

java ssl https proxy

5
推荐指数
2
解决办法
2万
查看次数

透明代理的IPTables配置

我很困惑为什么我的IPTable无法在路由器中工作。我想做的是将来自目的IP的所有数据包重定向到端口80和443到192.168.1.110:3128。但是,当我尝试这样做:

 iptables -t nat -A PREROUTING -s 192.168.1.5 -p tcp --dport 80:443 -j DNAT --to-destination 192.168.1.110:3128
Run Code Online (Sandbox Code Playgroud)

不起作用。但是,当我添加它时,

iptables -t nat -A POSTROUTING-j MASQUARADE
Run Code Online (Sandbox Code Playgroud)

有用。但假装的问题是我没有得到真正的IP,而是路由器的IP。我需要获取源IP,以便我的代理服务器可以记录连接到它的所有IP。有人可以告诉我如何在不使POSTROUTING跳至Masquarade的情况下使其工作吗?

proxy iptables

5
推荐指数
3
解决办法
5万
查看次数

标签 统计

proxy ×2

https ×1

iptables ×1

java ×1

ssl ×1