我想制作一个 HTTPS 鱿鱼代理(这种),任何人都可以使用它来访问任何网站。这不是反向代理,它适用于整个互联网。出于安全原因,不应允许访问我的子网中的 IP。我获得了 LetsEncrypt 证书proxy.mydomain.com
,我想知道如何为此正确配置鱿鱼。这是我当前的配置文件:
########### squid.conf ###########
#
## interface, port and proxy type
#http_port 0.0.0.0:80 transparent
https_port 0.0.0.0:443 intercept tls-cert="/etc/letsencrypt/live/proxy.mydomain.com/fullchain.pem"
## timeouts
forward_timeout 30 seconds
connect_timeout 30 seconds
read_timeout 30 seconds
request_timeout 30 seconds
persistent_request_timeout 1 minute
client_lifetime 20 hours
## host definitions
acl all src 0.0.0.0/0
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl localnet src 0.0.0.1-0.255.255.255 # RFC 1122 "this" network (LAN)
acl localnet src 10.0.0.0/8 # RFC 1918 local …
Run Code Online (Sandbox Code Playgroud) apt-cacher-ng
我在文档中找不到如何配置代理设置。
是否可以apt-cacher-ng
在代理后面运行?如何?
我想让我的 WireGuard 客户端连接到 SOCKS5 代理后面的对等服务器,并且仅将其应用于我的浏览器,就像 Tor 浏览器一样。但由于 WireGuard 是 VPN 实现,因此它将创建虚拟网络连接,从而将整个系统路由到 VPN。
我在工作提供的 Windows 10 电脑上使用 Whatsapp for Desktop。因为它是工作提供的,所以我交替使用公司 VPN 和直接连接到互联网。
使用最新版本的桌面版 Whatsapp,当我使用 VPN 时,Whatsapp 无法再连接。它似乎试图绕过代理。有没有办法强制应用程序使用代理?
编辑:这个问题最初是在 Windows 10 上提出的,但问题仍然存在于 Windows 11 上,使用 Microsoft Store 上的 Whatsapp 版本。
当在代理后面使用curl时,
curl -O -fsSL https://storage.googleapis.com/tensorflow-serving-apt/tensorflow-serving.release.pub.gpg -v -k -x http://xxx.xxx.xxx.xxx:8080
Run Code Online (Sandbox Code Playgroud)
我有一个错误,如下所示。我能做什么来解决这个问题?
Trying xxx.xxx.xxx.xxx...
TCP_NODELAY set
Connected to xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx) port 8080 (#0)
Establish HTTP proxy tunnel to storage.googleapis.com:443
CONNECT storage.googleapis.com:443 HTTP/1.1
Host: storage.googleapis.com:443
User-Agent: curl/7.54.0
Proxy-Connection: Keep-Alive
HTTP/1.0 403 Forbidden
Server: squid
Mime-Version: 1.0
Date: Sun, 13 Jan 2019 16:33:30 GMT
Content-Type: text/html
Content-Length: 3149
X-Squid-Error: ERR_ACCESS_DENIED 0
Vary: Accept-Language
Content-Language: en
X-Cache: MISS from unknown
X-Cache-Lookup: NONE from unknown:8080
Via: 1.0 unknown (squid)
Connection: keep-alive
The requested URL returned error: …
Run Code Online (Sandbox Code Playgroud) 是否有代理(或其他解决方案)可以允许老式浏览器(在 HTTPS 时代之前 - 无 SSL/TLS 支持或较弱的 SSL/TLS 支持)与 HTTPS 网站连接?
换句话说:
旧浏览器 <-- http 连接 --> 客户端(本地)代理 <-- HTTPS 连接 --> 任何互联网网页
(浏览器向本地代理发送http页面请求,本地代理发送HTTPS请求,代理收到HTTPS响应/页面后,以未加密的http将其返回给浏览器)
此类代理的简单示例配置也受到欢迎。
TLS_termination_proxy(https://serverfault.com/questions/943649/https-http-lightweight-proxy )是我正在寻找的(还是仅适用于服务器)?
我已经开始检查 Windows 的 TLS_termination_proxy 列表(存档列表1、2)(Nginx、stunnel、Hiawatha、Caddy、Apache 和 Squid)中的代理。Nginx 似乎可以做到这一点。stunnel仅适用于 64 位(也有 32 位版本)。
我所在的网络的互联网访问权限有限,我需要提供一个域列表以允许提取 docker 映像。
首先,我认为https://registry-1.docker.io/
就足够了,但尝试提取图像,似乎也是https://production.cloudflare.docker.com/
必需的,所以问题是:是否有允许从公共 docker 注册表提取图像的所有域的列表?
我有一台在企业环境中运行 Windows 的工作计算机,并带有用于 Internet 传出连接的身份验证代理服务器。我不知道它是如何配置的,但是很多工具无法连接,主要是像npm(Atom编辑器中的包),NuGet,PowerShellGet等类型。我什至必须配置我的浏览器(Vivaldi)才能使用直接连接,因为我无法登录某些网站,即使它在 MS Edge 中运行。
HTTP 错误通常是(407) Proxy Authentication Required
.
Windows 中的系统范围代理服务器正在由一些定期执行的脚本进行配置,我对此无能为力。
解决方案,或者更确切地说是一种解决方法,是单独配置所有有连接问题的应用程序以绕过代理(使用直接连接到互联网)。我已经设法做到了几乎所有我需要的东西,但到目前为止我在 Powershell Core 上还没有成功。
顺便说一句,我不确定该代理的意义是什么,当你可以简单地绕过它时,它只会使该计算机上的常规工作变得更加困难,并且浪费我的时间和公司的金钱。
到目前为止,我已经了解了以下内容。
PowerShellGetFind-Module
失败并出现以下错误:
无法解析包源“https://www.powershellgallery.com/api/v2”
一个简单的 Web 请求失败,并出现错误“缓存访问被拒绝”:
Invoke-WebRequest https://google.com
Run Code Online (Sandbox Code Playgroud)
但当它被迫绕过代理时会成功:
Invoke-WebRequest https://google.com -NoProxy
Run Code Online (Sandbox Code Playgroud)
netsh winhttp show proxy
说“直接访问(无代理服务器)。 ”,但以下命令返回实际代理:
([System.Net.WebRequest]::GetSystemWebproxy()).GetProxy("https://google.com")
Run Code Online (Sandbox Code Playgroud)
此外,以下命令返回false
:
([System.Net.WebRequest]::GetSystemWebproxy()).IsBypassed("https://google.com")
Run Code Online (Sandbox Code Playgroud)
我做了相当广泛的研究,发现应该可以WebRequest
通过将默认代理设置为 null 来配置使用直接连接,但这没有帮助:
[System.Net.WebRequest]::DefaultWebProxy = $null
Run Code Online (Sandbox Code Playgroud)
如果有人有任何其他想法,我将不胜感激。
我发现我实际上可以使用我的域帐户在代理服务器上进行身份验证:
Invoke-WebRequest https://google.com -ProxyUseDefaultCredentials -Proxy http://proxy
Run Code Online (Sandbox Code Playgroud)
因此,这将是代理旁路配置的替代方案。我只是不知道如何为 Powershell 发出的所有请求设置凭据。我不明白为什么 Windows 系统代理没有配置为使用我的帐户进行身份验证。
我尝试配置WebRequest::DefaultWebProxy
为使用代理服务器并使用我的域帐户凭据对其进行身份验证,但它不起作用:
Invoke-WebRequest https://google.com
Run Code Online (Sandbox Code Playgroud) 我有一个设置,需要进行 2 次代理跳转才能连接到我的服务器D
。实际上,从A
,我需要连接到B
,从那里我需要连接到C
(只允许来自 的连接B
),然后我可以从那里连接到D
(只接受来自 的连接C
)。
在 上B
,使用 ssh 配置,我D
只需键入 即可连接到ssh D
,这就是为什么我认为我可以使用此配置来A
连接到D
:
Host B
hostname 127.0.0.1
user myUser
Port 43099
IdentityFile ~/.ssh/id_rsa
Host D
hostname D
ProxyJump B
Run Code Online (Sandbox Code Playgroud)
然后连接 fromA
来连接到D
via ssh D
。
但是,这是我从中得到的错误:
debug1: Reading configuration data /home/MyUser/.ssh/config
debug1: /home/MyUser/.ssh/config line 17: Applying options for D
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: …
Run Code Online (Sandbox Code Playgroud) 如果我尝试使用以下命令启动 Chromium 或任何基于 Chromium 的浏览器:
\n[...] --proxy-server="socks5h://blablabla"\n
Run Code Online (Sandbox Code Playgroud)\n然后它无法加载任何页面。但是,如果我这样做,它就会起作用:
\n[...] --proxy-server="socks5://blablabla"\n
Run Code Online (Sandbox Code Playgroud)\n但 SOCKS5H 和 SOCKS5 在一个重要方面略有不同。“H”不会通过绕过 DNS 查找代理来泄露您的隐私,但 Chromium 不支持这一点?
\n我正在尝试的代理在其他方面都可以工作(例如通过 cURL)并且确实是 SOCKS5 H。
\n我在网上找不到任何关于此事的词,“令人惊讶”。
\n给出的错误是这样的:
\n\n\n无法访问此站点\xe2\x80\x99\nhttps: //ifconfig.co/json上的网页可能暂时无法访问,或者可能已永久移至新网址。\nERR_NO_SUPPORTED_PROXIES
\n