最简单的反向代理[关闭]

2023-12-19

我正在寻找一种方法来简单地在本地设置连接到远程站点的代理。我不想在系统中正确安装任何东西。如果我可以使用单个命令行调用来调用它,而不是使用单个配置文件来调用它,那就太棒了。

目的是嗅探我正在开发的本地应用程序与其他人提供的使用 HTTPS 的远程服务器之间的流量。

最好是 Ruby、Python 或 Node 包,这样我就可以执行以下操作:

mkdir simplest-proxy; cd simplest-proxy; bundle init
echo "gem 'simplest-proxy'" >> Gemfile; bundle --path vendor/bundle
bundle exec bin/simplest-proxy -p 8080 https://remote.site.example.com/

or

virtualenv simplest-proxy; cd simplest-proxy
bin/easy_install simplest-proxy
bin/simplest-proxy -p 8080 https://remote.site.example.com/

or

mkdir simplest-proxy; cd simplest-proxy
npm install simplest-proxy
node_modules/.bin/simplest-proxy -p 8080 https://remote.site.example.com/

它将允许我的应用程序连接到localhost:8080,这将转发请求(并重写Host标头和其他必要的内容)到远程站点。我可以观看lo在 WireShark 中查看发生了什么。

我快速浏览了 pypi、rubygems 和 npm,但到目前为止我发现要么不起作用(proxylet,否则看起来非常有前途),旨在用于更复杂的场景并且需要设置(dj-revproxy)或期望被调用正确的Host (node-reverse-proxy)而不是重写。

更新:我要使用 ApacheProxyPass / ProxyPassReverse现在,我已经完成了配置,但感觉太过分了,需要使用配置文件。

更新:另一种不适用的解决方案是实际的 HTTP 代理,而不是模拟远程站点。因为远程站点是 HTTPS 站点,所以这只会让我的应用程序在代理内执行 CONNECT,但不会获得任何结果。


Found http://mitmproxy.org/ http://mitmproxy.org/ !

我的用例包括:

mitmproxy -p 8080 -P https://remote.site.example.com/

但还有更多。它还提供了一个 ncurses UI,用于显示所有已完成的请求,并允许您检查它们。这使得 WireShark 变得不必要。

使用发行版软件包安装程序或 easy_install 进行安装,如问题所示:

virtualenv mitmproxy; cd mitmproxy
bin/easy_install mitmproxy
bin/mitmproxy -p 8080 -P https://remote.site.example.com/

Edit:

对于 mitmproxy 版本 3,参数为:

mitmproxy -p 8080 --mode reverse:https://remote.site.example.com/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

最简单的反向代理[关闭] 的相关文章

  • python 模拟第三方模块

    我正在尝试测试一些处理推文的类 我使用 Sixohsix twitter 来处理 Twitter API 我有一个类充当 Twitter 类的外观 我的想法是模拟实际的 Sixohsix 类 通过随机生成新推文或从数据库检索它们来模拟推文的
  • Node js 使用中间件重定向进行过多重定向

    在我的 Node js 应用程序 我使用的是express 4 x 中 我想检查用户是否已登录 如果用户未登录 我想重定向到我的登录页面 然后我在中间件中这样做 服务器 js app use function req res next if
  • Python逻辑运算符优先级[重复]

    这个问题在这里已经有答案了 哪个运算符优先4 gt 5 or 3 lt 4 and 9 gt 8 这会被评估为真还是假 我知道该声明3 gt 4 or 2 lt 3 and 9 gt 10 显然应该评估为 false 但我不太确定 pyth
  • Django 模型在模板中不可迭代

    我试图迭代模型以获取列表中的第一个图像 但它给了我错误 即模型不可迭代 以下是我的模型和模板的代码 我只需要获取与单个产品相关的列表中的第一个图像 模型 py class Product models Model title models
  • 将对象转换为哈希,然后将其保存到用户的列

    找不到任何接近我想做的事情 我想将一个对象存储到用户的列中 该列采用数组的形式 postgres def change add column users interest string array true default end 我有另一
  • 从零开始的 numpy 形状意味着什么

    好的 我发现数组的形状中可以包含 0 对于将 0 作为唯一维度的情况 这对我来说是有意义的 它是一个空数组 np zeros 0 但如果你有这样的情况 np zeros 0 100 让我很困惑 为什么这么定义呢 据我所知 这只是表达空数组的
  • 为什么Python的curses中escape键有延迟?

    In the Python curses module I have observed that there is a roughly 1 second delay between pressing the esc key and getc
  • 切片 Dataframe 时出现 KeyError

    我的代码如下所示 d pd read csv Collector Output csv df pd DataFrame data d dfa df copy dfa dfa rename columns OBJECTID Object ID
  • 使用 Python pandas 计算调整后的成本基础(股票买入/卖出的投资组合分析)

    我正在尝试对我的交易进行投资组合分析 并尝试计算调整后的成本基础价格 我几乎尝试了一切 但似乎没有任何效果 我能够计算调整后的数量 但无法获得调整后的购买价格有人可以帮忙吗 这是示例交易日志原始数据 import pandas as pd
  • 如何通过在 Python 3.x 上按键来启动和中断循环

    我有这段代码 当按下 P 键时会中断循环 但除非我按下非 P 键 否则循环不会工作 def main openGame while True purchase imageGrab if a sum gt 1200 fleaButton ti
  • 如何设置 Celery 来调用自定义工作器初始化?

    我对 Celery 很陌生 我一直在尝试设置一个具有 2 个独立队列的项目 一个用于计算 另一个用于执行 到目前为止 一切都很好 我的问题是执行队列中的工作人员需要实例化一个具有唯一 object id 的类 每个工作人员一个 id 我想知
  • 将 JSON 对象传递给带有请求的 url

    所以 我想利用 Kenneth 的优秀请求模块 https github com kennethreitz requests 在尝试使用时偶然发现了这个问题自由库API http wiki freebase com wiki API 基本上
  • 如何使用列表作为pandas数据框中的值?

    我有一个数据框 需要列的子集包含具有多个值的条目 下面是一个带有 运行时 列的数据框 其中包含程序在各种条件下的运行时 df condition a runtimes 1 1 5 2 condition b runtimes 0 5 0 7
  • mac osx 10.8 上的初学者 python

    我正在学习编程 并且一直在使用 Ruby 和 ROR 但我觉得我更喜欢 Python 语言来学习编程 虽然我看到了 Ruby 和 Rails 的优点 但我觉得我需要一种更容易学习编程概念的语言 因此是 Python 但是 我似乎找不到适用于
  • 使用yield 进行字典理解

    作为一个人为的例子 myset set a b c d mydict item yield join item s for item in myset and list mydict gives as cs bs ds a None b N
  • Rails 6:每个用户只能创建一个配置文件

    我目前正在开发 Rails 6 应用程序 我有以下关联 用户有一个配置文件 并且配置文件属于用户 当编辑用户的配置文件时 我最终为该用户提供了两个配置文件 我希望每个用户只有一份个人资料 编辑表单 profile edit html erb
  • 当鼠标悬停在上面时,intellisense vscode 不显示参数或文档

    我正在尝试将整个工作流程从 Eclipse 和 Jupyter Notebook 迁移到 VS Code 我安装了 python 扩展 它应该带有 Intellisense 但它只是部分更糟糕 我在输入句点后收到建议 但当将鼠标悬停在其上方
  • Nodejs mysql 获取正确的时间戳格式

    我在用着mysqljs https github com mysqljs mysql得到结果后sql我变得不同TimeStamp格式如下 created at Sat Jul 16 2016 23 52 54 GMT 0430 IRDT 但
  • 字典和数组作为类变量与实例变量

    这是赚取积分的简单方法 请解释以下内容 class C a b 0 c def init self self x def d self k v self x k v self a k v self b v self c append v d
  • 如何使用 Passport 验证 Supertest 请求?

    我使用 Passport js 进行身份验证 本地策略 并使用 Mocha 和 Supertest 进行测试 如何使用 Supertest 创建会话并发出经过身份验证的请求 正如 zeMirco 指出的那样 底层superagent模块支持

随机推荐

  • Magento 1.7 价格过滤器错误(未找到列:1054“where 子句”中的未知列“e.min_price”)

    在我的产品列表中 当我过滤价格时 出现此错误 有谁知道 如何解决这个问题 SQLSTATE 42S22 未找到列 1054 未知列 e min price 在 where 子句 中 痕迹 0 var www vhosts domain nl
  • 在 Windows 10 Professional 中安装自定义 inf 时遇到问题。 Windows 使用 OEM 驱动程序覆盖它

    我已经为自定义设备制作了签名的 USB 串行 inf 文件 并创建了一个安装程序 该安装程序成功地将驱动程序安装到 Windows 7 32 64 Windows 8 1 64 但不适用于 Windows 10 这适用于默认安装 右 使用设
  • 使用 Swiftui 我们如何创建用户表单

    我想创建一个表单 其中所有文本字段都需要从相同的对齐方式开始 如下图所示 它不从相同的对齐方式开始 名字 姓氏和电话号码所有文本字段未在单个垂直线上正确对齐 VStack HStack Text First Name TextField F
  • 更新 ATOM 条目的正确/可接受的方法

    什么是 正确 的方式来指示 ATOM 提要中的条目已更新 正确 是指符合现有规范and读者会注意到某些内容并将其标记为新的 未读的 我发现的所有规范都表明支持更新的节点 但是 当我尝试这样的事情时
  • Django 视图中长时间、缓慢的操作会导致超时。有什么办法可以让 Python 代替 AJAX 说话吗?

    我从事 Python 编程已经有一段时间了 但 DJango 和 Web 编程对我来说总体来说还是陌生的 我在 Python 视图中执行了一个很长的操作 由于我认为 local 函数需要很长时间才能返回 因此存在 HTTP 超时 公平地说
  • 并发原子选择更新

    我怎样才能使用 sqlalchemy 做这样的事情 user session query select from user if user state active session query update user set state i
  • 在 C# 中交换 32 位正整数中的位

    所以我正在尝试解决这个问题 给定一个随机的 32 位正整数 你要做的就是将第 3 4 5 位的值与第 24 25 26 位的位值交换 假设这是一个您不需要明确解决方案的问题 这里有一个提示 使用以下命令屏蔽有问题的位 做一个转变 然后OR然
  • 调用chrome.tabs.query后,得不到结果

    我正在创建 学习 Google Chrome 的扩展程序 为了调试一些代码 我插入了console log 如下 var fourmTabs new Array chrome tabs query function tabs for var
  • Javascript随机化数组,而起始位置没有元素[重复]

    这个问题在这里已经有答案了 我有一个 JavaScript 问题 我让用户输入一个名称列表 然后将其放入一个数组中 长话短说 我正在编写一种随机方法 让人们弄清楚他们将为谁购买圣诞礼物 例如 原始数组由以下名称组成 Alex Joel Li
  • 合并具有相同键的元组

    如何合并具有相同键的元组 list 1 AAA 123 AAA 456 AAW 147 AAW 124 并将它们变成 list 2 AAA 123 456 AAW 147 124 最有效的方法是使用collections defaultdi
  • Django中的send_mail,在shell中工作,在本地工作,不在视图中

    我什至不知道如何调试这个 我在 Django 的一个视图中使用 send mail 在本地使用该应用程序时 使用与我在生产中使用的相同的 SMTP 设置 它可以正常工作 并且在生产中的 shell 中也可以正常工作 同样 使用相同的设置 但
  • 当标题拆分为两行时修复plotly ggplotly() 标题重叠图

    在下面的示例中 标题的第二行与情节略有重叠 有没有办法通过增加标题和情节之间的间距来解决这个问题 library ggplot2 library plotly library magrittr p1 lt ggplot iris aes x
  • 如何使用 $.ajax(jQuery 或 Zepto)发布对象数组

    我想在 Zepto 或 Jquery 中使用 ajax 发布一组对象 两者都表现出相同的奇怪错误 但我找不到我做错了什么 当使用像 RestEasy 这样的测试客户端发送数据时 数据会保存到服务器 并且我可以看到请求在浏览器的网络面板中被破
  • 使用 Tor 运行 Puppeteer

    我安装了 Tor Expert Bundle 并且想使用 Puppeteer 运行它 I try const browser await puppeteer launch headless false args proxy server s
  • 更新后 Fabric 崩溃:[Fabric isCrashlyticsCollectionEnabled]:无法识别的选择器发送到类 0x10c0bb918

    今天 pod 更新后 Fabric 崩溃了 面料1 9 0 Fabric isCrashlyticsCollectionEnabled unrecognized selector sent to class 0x10c0bb918 崩溃线
  • Linux系统调用

    我能够获得系统调用的执行及其在内核中的处理 但我还不清楚一些事情 进入 swi 例程后 内核保存 用户模式寄存器在堆栈上 问题是 是谁的堆栈 因为 swi 处理和相应的系统调用例程需要堆栈帧来工作 如果是内核自己的堆栈 那么从哪里分配堆栈
  • 为什么数据流步骤无法启动?

    我有一个线性三步数据流管道 由于某种原因 最后一步开始 但前面的两个步骤挂起Not started在我放弃并终止这份工作之前很长一段时间 我不确定是什么导致了这个问题 因为同样的管道过去曾成功运行过 而且我很惊讶它没有在日志中显示任何阻止前
  • 更改成员资格连接字符串

    我是 ASP NET 成员资格新手 我需要帮助以编程方式更改其连接字符串 到目前为止我尝试过的是 我创建了一个类项目名称 Sample 作为命名空间 并扩展了System Web Security SqlMembershipProvider
  • C++中接口类和实现类的并行继承

    我正在尝试以与 Java 接口类似的方式使用 C 抽象基类 假设我们有以下仅具有纯虚函数的接口类 class Shape virtual double area 0 class Square public Shape virtual voi
  • 最简单的反向代理[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我正在寻找一种方法来简单地在本地设置连接到远程站点的代理 我不想在系统中正确安装任何东西 如果我可以使用单个命令行调用来调用它 而不是使用单个配置文件