我可以使用socat进行端口转发,如下所示:
socat TCP4-LISTEN:8080 TCP4:123.456.789.12:80在这种情况下,它完美地工作:所有的http-requests到localhost:8080都将被重定向到123.456.789.12:80。
但我如何才能将这种转发用于https-requests呢?
更新:-我需要一个socat进程之间的火狐和远程服务器。socat只是一个转发器(代理重定向器),仅此而已。就像这样:
Firefox -> socat -> server
------------>
https发布于 2016-01-18 21:41:57
通常,https服务器运行在端口443上,所以这可能是您的问题吗?
尝试浏览带有https工作的套接字到google.com,尽管带有SSL证书警告:
socat TCP-LISTEN:8080,fork,reuseaddr TCP:google.com:443(使用fork和reuseaddr允许多个连接和快速ip:端口重用,但注意注意这些警告)。
现在,您可以通过浏览器访问google的https,只需转到https://localhost:8080即可。
发布于 2016-01-21 11:27:11
您所收到的浏览器安全警告是因为url和服务器证书中的主机名不匹配(例如,localhost与example.com)。
若要在没有此警告的情况下使转发工作,您需要将转发器放在相同的TCP端口上,并覆盖受影响域的DNS解析(即将example.com解析为127.0.0.1)。
最简单的方法如下:
example.com域添加到localhost行(类似于howto 这里)socat TCP-LISTEN:443,fork,reuseaddr TCP:123.456.789.12:443https://example.com检查它是否在浏览器中工作完成实验时,不要忘记从主机文件中删除域条目。
如果无法确保相同的TCP端口号,此方法可能也能工作--但只在某些条件下才能工作:
注意:可以设置MITM套接字代理,但这需要添加一个人工信任的CA。
祝好运!
发布于 2019-05-03 16:28:04
试着做这样的事情:
socat TCP-LISTEN:8080,fork,reuseaddr ssl:google.com:443https://stackoverflow.com/questions/34791674
复制相似问题