AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题

问题[proxy](computer)

Martin Hope
Alexis Wilke
Asked: 2024-06-21 07:52:40 +0800 CST

我对用作代理并使用 BasicAuth 设置的 Squid 的请求中有 50% 收到 407,而另一半则按预期工作。为什么?

  • 5

我有一个 Java 应用程序需要 ping 第三方网站。为了更安全,我使用 Squid 作为代理:

+-----------+     +-------------+     +--------------------+
| Java App. |---->| Squid Proxy |---->| Third party server |
+-----------+     +-------------+     +--------------------+

系统似乎按预期运行,但当我查看 Squid 代理日志时,我看到大量 407 错误。这是正常的吗?比例似乎接近 50/50(200 比 407 多一点)。我想知道 Java 代理代码是否并不总是发送凭据,这可以解释这么多 407 错误。

Java 代码使用RequestBuilder如下:

import org.asynchttpclient.AsyncHttpClient;
import org.asynchttpclient.Realm;
import org.asynchttpclient.Request;
import org.asynchttpclient.RequestBuilder;
import org.asynchttpclient.proxy.ProxyServer;
import org.asynchttpclient.proxy.ProxyType;

[...]

private final AsyncHttpClient asyncHttpClient;

[...]

var reqBuilder = new RequestBuilder(GET);
reqBuilder.setUrl(url);
var realm = new Realm.Builder(proxyUser, proxySecret)
              .setScheme(Realm.AuthScheme.BASIC);
var proxy = new ProxyServer.Builder(proxyHost, proxyPort)
             .setSecuredPort(proxyPort)
             .setProxyType(ProxyType.HTTP)
             .setRealm(realm));
reqBuilder.setProxyServer(proxy);
Request request = reqBuilder.build();
return asyncHttpClient
    .executeRequest(request)
    .toCompletableFuture()
    .handle(
        (r, t) -> {
          return (Response) Response.ok();
        });

_ 注意:我删除了错误处理以使代码看起来简单明了。_

最后,Squid 配置包含以下有关基本身份验证的行:

auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/squid.htpasswd
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated

您觉得我的设置有什么问题吗?

proxy
  • 1 个回答
  • 13 Views
Martin Hope
Gianluca
Asked: 2023-08-16 02:51:11 +0800 CST

Nginx-proxy 似乎忽略服务器上下文

  • 5

前提

在过去的几天里,我设置了一个使用 Docker 运行 Mastodon 的家庭服务器。我已经有一个在 Raspberry 上运行的 Nextcloud 实例,所以现在我尝试通过专用子域(我正在使用免费的 DDNS)使这两个实例可用。

我设置了两个子域(都明显指向我的家庭路由器),如下所示:

  • 乳齿象.example.com
  • nextcloud.example.com

然后,我在路由器中设置端口转发,将端口 80、443 上的 TCP/UDP 流量发送到 Mastodon 服务器的相同端口,而自定义端口 3000、3001 上的 TCP/UDP 流量则映射到 Nexcloud 的端口 80、443服务器。

到这里为止都没有问题,如果我https://mastodon.example.com在浏览器中输入内容,我就会进入 Mastodon 服务器,然后https://nextcloud.example.com:3001我就会进入 Nextcloud 服务器。

问题

现在我正在尝试编辑 mastodon 服务器中 nginx-proxy 容器的配置,以便重定向每个请求,以避免nextcloud.example.com必须nextcloud.example.com:3001指定端口。

myadditions.conf我在映射到容器卷的文件夹中创建了一个新文件/etc/nginx/conf.d,重新启动服务器后,我可以确认 nginx 已正确加载它docker exec nginx-proxy nginx -T。

我的问题是,我尝试放入文件中进行重定向的所有内容似乎都被忽略,我输入时得到的结果始终nextcloud.example.com相同:错误MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT(我使用的是 Firefox)。我认为该错误是因为服务器没有尝试重定向调用,因此它提供的证书与 nextcloud 子域不匹配。我有什么遗漏的吗?

目前我的myadditions.conf文件如下所示:

server {
    server_name nextcloud.example.com;
    return 301 $scheme://nextcloud.example.com:3001$request_uri;
}

但我尝试了很多设置,结果没有任何变化,所以我开始认为问题不在于我在文件中写入的内容。顺便说一句,如果我删除我的文件,错误也是一样的。

proxy
  • 2 个回答
  • 28 Views
Martin Hope
user3840019
Asked: 2023-01-26 16:30:27 +0800 CST

明文 tcp 上的 tls 包装器

  • 5

有什么工具可以通过原始 tcp 制作 tls 转发器吗?

我有一个没有加密的服务器,纯文本 tcp 通信。

我想通过 tls 连接到它,但无法更改服务器代码。

我需要一个 tls 转发工具来在服务器中创建一个 tls 包装器并转发到一个明文 tcp 服务器。

如果我连接到那个 tls,那个 tls 就会连接到纯文本服务器,并且充当我的代理。

有没有免费的工具可以让我的生活更轻松?

proxy
  • 2 个回答
  • 17 Views
Martin Hope
Winalphazero
Asked: 2022-08-24 06:22:18 +0800 CST

如何在 Windows Server 上托管代理服务器?

  • 5

我想在我的 Windows 服务器上托管一个 http/https 代理服务器。我想从另一台计算机连接到该代理服务器(通过授权),因此我的应用程序使用此 Windows 服务器的 IP 地址。

那里有成千上万的指南,如何连接到代理服务器,但我还没有找到一个,如何实际托管一个。我读到了一些你在 linux 上的选项,但是我有一个 windows 服务器操作系统。我感谢每一个帮助我的答案。我需要特殊的软件来托管吗?如果是,是哪一个?

http proxy
  • 1 个回答
  • 106 Views
Martin Hope
llinfeng
Asked: 2022-07-25 10:48:23 +0800 CST

Windows 注册表中的“ProxyOverride”键 - 是否限制为 256 个字符?

  • 6

一般来说,是否存在具有字符串值的 Windows 注册表项的长度不应超过 256 个字符的情况?特别是,我想知道下面的字符串值是否应该受到这样的限制。此特定密钥位于Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings.

在此处输入图像描述


我使用在 Windows 上托管自己的代理服务器的工具来按需阻止某些站点。中的地址ProxyOverride用于释放原本不应该被阻止的连接(例如,如果 ProxyOverride 列表中没有足够的条目,OneNote 将不会同步)。有时(多年来),该工具的桌面客户端可能会清除ProxyOverride. 今天,我被告知以下内容:

我们对此进行了研究,我们认为 Microsoft Windows 实际上在代理设置中有 256 个字符的限制,并且由于您的设置超过 256 个,Windows 正在删除它们。您可能可以尝试删除一些 Windows 域,这有助于缩短列表,...

最让我困惑的是——如果有这样的 256 个字符限制,为什么我的超长设置会保留在某些 Windows 10 机器上而不是其他机器上?而且,为什么这样的设置可能会持续数周,并且在阻止工具更新自身时应该消失?

proxy windows-registry
  • 1 个回答
  • 205 Views
Martin Hope
parkee
Asked: 2022-07-20 19:13:21 +0800 CST

多跳(嵌套)WireGuard 配置

  • 5

我需要在同一台客户端计算机上配置 2 个不同的wireguard VPN 网络并将它们嵌套,这样当我发出请求时,它会通过 VPN_1,然后通过 VPN_2,然后到达目标网站。这里描述了类似的东西: https ://mullvad.net/en/help/different-entryexit-node-using-wireguard-and-socks5-proxy/

目前,当在主机上配置 VPN_1,在 docker 容器中配置 VPN_2 并通过 socks 代理公开时,我有一个工作配置。如果我将我的应用程序配置为使用 socks5 代理,它就可以完成工作,并且我有 APP -> VPN_1 -> VPN_2 -> 目的地。我想在单个 docker 容器中实现相同的目标(最好没有任何 socks 代理)。

我的第一个想法是使用相同的接口和 2 个对等点(并通过 AllowedIPs 参数配置路由,以便 VPN_1 使用 0.0.0.0/0 和 VPN_2 使用 <VPN_1 IP>/32)但我有 2 个不同的私钥所以可能不会去工作。我也尝试有 2 个单独的接口,但这也不起作用。

示例配置(最新):VPN_1

[Interface]
PrivateKey = <PRIVATE_KEY_1>
Address = 10.68.187.50/32
MTU = 1280
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o wg2 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o wg2 -j MASQUERADE


[Peer]
PublicKey = <PUBLIC_KEY_1>
AllowedIPs = 0.0.0.0/0
Endpoint = <VPN_1>:51820
PersistentKeepalive = 120

VPN_2

[Interface]
PrivateKey = <PRIVATE_KEY_2>
Address = 172.16.0.2/32
MTU = 1280
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
PublicKey = <PUBLIC_kEY_2>
AllowedIPs = <VPN_1_IP>/32
Endpoint = <VPN_2>
PersistentKeepalive = 120

我还发现一些 WireGuard 客户端具有开箱即用的此功能: https ://www.wiresock.net/ (双 VPN(带有嵌套隧道))。

但是使用 docker 设置,我现在有点卡住了,不胜感激。

UPDwg-quick输出:

/ # wg-quick up vpn1
[#] ip link add vpn1 type wireguard
[#] wg setconf vpn1 /dev/fd/63
[#] ip -4 address add 10.68.187.50/32 dev vpn1
[#] ip link set mtu 1380 up dev vpn1
[#] wg set vpn1 fwmark 51820
[#] ip -4 route add 0.0.0.0/0 dev vpn1 table 51820
[#] ip -4 rule add not fwmark 51820 table 51820
[#] ip -4 rule add table main suppress_prefixlength 0
[#] sysctl -q net.ipv4.conf.all.src_valid_mark=1
[#] iptables-restore -n
/ # wg-quick up vpn2
[#] ip link add vpn2 type wireguard
[#] wg setconf vpn2 /dev/fd/63
[#] ip -4 address add 172.16.0.2/32 dev vpn2
[#] ip link set mtu 1440 up dev vpn2
[#] ip -4 route add 193.32.126.70/32 dev vpn2
/ #
/ # curl https://am.i.mullvad.net/connected
curl: (6) Could not resolve host: am.i.mullvad.net
proxy vpn
  • 1 个回答
  • 410 Views
Martin Hope
BANJOSA
Asked: 2022-07-08 03:21:40 +0800 CST

在 docker 上运行的 Squid 未在配置中强制执行时间 acl

  • 6

我有一个在 docker 中运行的 squid,它没有强制执行配置中定义的时间 ACL。我正在使用在 arm 上运行的https://hub.docker.com/r/ubuntu/squid

这是我在squid.conf中的配置:

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 private network (LAN)
acl localnet src 100.64.0.0/10      # RFC 6598 shared address space (CGN)
acl localnet src 169.254.0.0/16     # RFC 3927 link-local (directly plugged) machines
acl localnet src 172.16.0.0/12      # RFC 1918 local private network (LAN)
acl localnet src 192.168.0.0/16     # RFC 1918 local private network (LAN)
acl localnet src fc00::/7           # RFC 4193 local private network range
acl localnet src fe80::/10          # RFC 4291 link-local (directly plugged) machines

acl client1 src 192.168.1.89/32
# times below are in UTC
acl weekday_access time MTWH 6:00-20:30
acl friday_access time F 6:00-21:00
acl saturday_access time A 6:00-21:00
acl sunday_access time S 6:00-20:30


acl SSL_ports port 443
acl Safe_ports port 80      # http
acl Safe_ports port 21      # ftp
acl Safe_ports port 443     # https
acl Safe_ports port 70      # gopher
acl Safe_ports port 210     # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280     # http-mgmt
acl Safe_ports port 488     # gss-http
acl Safe_ports port 591     # filemaker
acl Safe_ports port 777     # multiling http

http_access allow client1 weekday_access
http_access allow client1 friday_access
http_access allow client1 saturday_access
http_access allow client1 sunday_access

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager !client1
http_access deny manager client1
include /etc/squid/conf.d/*.conf
http_access allow localhost
http_access deny all

http_port 3128

coredump_dir /var/spool/squid

refresh_pattern ^ftp:       1440    20% 10080
refresh_pattern ^gopher:    1440    0%  1440
refresh_pattern -i (/cgi-bin/|\?) 0 0%  0
refresh_pattern \/(Packages|Sources)(|\.bz2|\.gz|\.xz)$ 0 0% 0 refresh-ims
refresh_pattern \/Release(|\.gpg)$ 0 0% 0 refresh-ims
refresh_pattern \/InRelease$ 0 0% 0 refresh-ims
refresh_pattern \/(Translation-.*)(|\.bz2|\.gz|\.xz)$ 0 0% 0 refresh-ims
refresh_pattern .       0   20% 4320

这是/etc/squid/conf.d/debian.conf中的配置

#
# Squid configuration settings for Debian
#

# Logs are managed by logrotate on Debian
logfile_rotate 0

# For extra security Debian packages only allow
# localhost to use the proxy on new installs
#
http_access allow localnet

碰巧client1的访问永远不会被切断

有人可以帮忙指出配置有什么问题吗?

linux proxy
  • 1 个回答
  • 70 Views
Martin Hope
AlMo320
Asked: 2022-07-03 22:13:51 +0800 CST

PolarProxy 生成 SAN 证书生成 curl 错误

  • 5

我使用 -v 运行 curl 7.58.0(参见附图中的版本),得到的结果表明证书中的 CN=example.com 正常,但是 curl 找不到匹配的 subjectAltName。是否有禁用此检查的开关或参数,或者我是否应该假设问题出在 PolarProxy 上(尝试从此页面安装)。它确实适用于 -k/--insecure 标志。我正在执行安装 inetsim 和 PolarProxy 以进行恶意软件分析的步骤。我的远程客户端也无法通过 https 或 smtps 进行连接,因此我正在尝试解决此屏幕截图中出现的错误。这是 ubuntu 服务器 18.04。

* TLSv1.2 (IN), TLS header, Supplemental data (23):

* TLSv1.3 (IN), TLS handshake, CERT verify (15):

* TLSv1.2 (IN), TLS header, Supplemental data (23):

* TLSv1.3 (IN), TLS handshake, Finished (20):

* TLSv1.2 (OUT), TLS header, Finished (20):

* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):

* TLSv1.2 (OUT), TLS header, Supplemental data (23):

* TLSv1.3 (OUT), TLS handshake, Finished (20):

* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384

* ALPN, server did not agree to a protocol

* Server certificate:

*  subject: CN=example.com

*  start date: Jul  2 20:44:34 2022 GMT

*  expire date: Jul  3 20:44:34 2023 GMT

*  subjectAltName does not match example.com

* SSL: no alternative certificate subject name matches target host name 'example.com'

* Closing connection 0

* TLSv1.2 (OUT), TLS header, Supplemental data (23):

* TLSv1.3 (OUT), TLS alert, close notify (256):

curl: (60) SSL: no alternative certificate subject name matches target host name 'example.com'

More details here: https://curl.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.

从我在远程客户端上可以看出,证书是由 PolarProxy 生成的'Subject Alternative Name' = 'DNS Name=CN=example.com',在我看来它看起来不合法,curl 似乎反对。

PolarProxy 可执行文件上似乎没有任何开关来抑制 x509 证书中伪造(我认为)SAN 元素的生成。

任何有 PolarProxy 经验并可能让我知道发生了什么的人,请这样做。感谢所有帮助。

proxy curl
  • 2 个回答
  • 99 Views
Martin Hope
Chi-fung LAM
Asked: 2022-06-29 01:02:22 +0800 CST

通过(反向)代理激活 MS Office 2016

  • 5

我有一个连接到反向代理服务器(Windows 服务器 2019,安装了 URL 重写的 IIS)的应用服务器(在 DMZ 内)。在这 2 个服务器之间配置了以下防火墙规则:

App--->反向代理(80和443端口)

App<---反向代理(端口80和443)

MS Office 2016 安装在应用服务器上,我们的 IT 管理员给我一个批处理文件来激活它: C:\Windows\System32\cscript.exe "c:\Program Files (x86)\Microsoft Office\Office16\ospp.vbs " /sethst:10.aa.bb.ccc

C:\Windows\System32\cscript.exe "c:\Program Files (x86)\Microsoft Office\Office16\ospp.vbs" /act

我尝试运行它但失败了。还设置了以下防火墙规则:反向代理--->10.aa.bb.ccc(端口 80 和 443)

转发代理已配置如下:

URL 重写设置

运行批处理文件时,出现以下错误:

D:\MSO>C:\Windows\System32\cscript.exe "c:\Program Files (x86)\Microsoft Office\Office16\ospp.vbs" /sethst:10.aa.bb.ccc Microsoft (R) Windows 脚本主机版本 5.812 版权所有 (C) Microsoft Corporation。版权所有。

- -加工 - - - - - - - - - - - - -

错误代码:0x80070005 错误描述:运行以下命令:cscript ospp.vbs /ddescr:0x80070005

---退出------------------

D:\MSO>C:\Windows\System32\cscript.exe "c:\Program Files (x86)\Microsoft Office\Office16\ospp.vbs" /act Microsoft (R) Windows Script Host Version 5.812 版权所有 (C) Microsoft公司。版权所有。

- -加工 - - - - - - - - - - - - -

检测到已安装的产品密钥 - 尝试激活以下产品:SKU ID:dedfa23d-6ed1-45a6-85dc-63cae0546de6 许可证名称:Office 16,Office16StandardVL_KMS_Client 版本许可证描述:Office 16,VOLUME_KMSCLIENT 频道已安装产品密钥的最后 5 个字符:XXXXXX 错误代码:0xC004F074 错误描述:软件许可服务报告无法激活产品。无法联系到密钥管理服务 (KMS)。请参阅应用程序事件日志以获取更多信息。要查看激活事件历史记录,请运行:cscript ospp.vbs /dhistorykms 注意:已检测到 KB 文章激活失败:0xC004F074 更多信息请访问:http: //support.microsoft.com/kb/2870357#Error0xC004F074


---退出------------------

URL重写设置有什么问题吗?或者通过批处理文件激活时无法完成?非常感谢。

注册表

林志峰

proxy microsoft-office
  • 1 个回答
  • 256 Views
Martin Hope
tamasgal
Asked: 2022-05-30 14:19:07 +0800 CST

LDAP 代理(或直通)到另一个 LDAP 服务器

  • 5

这可能有点类似于使用 LDAP 代理来调试 LDAP 请求,但那里的答案并没有真正的帮助。

我需要将在 Docker 群中运行的多个服务连接到外部 LDAP 服务器,该服务器对访问有很多限制。“注册” LDAP 客户端的过程需要密码验证并生成绑定到客户端 IP 的令牌(并通过对每个 LDAP 请求的反向查找进行检查)。

这使得为​​ Docker swarm 或 Kubernetes 网络中的数十个服务自动设置它非常困难。

一个明显的解决方案是手动设置单个服务器并将其用作“代理 LDAP”,方法是将所有 LDAP 请求从服务转发到外部 LDAP 提供程序。

有推荐的方法吗?我找到了一些 LDAP 代理解决方案(基于 OpenLDAP),但这些解决方案旨在代理 Active Directory 服务器。我所需要的只是到另一个 LDAP 服务器的桥接。

proxy ldap
  • 1 个回答
  • 261 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Vickel Firefox 不再允许粘贴到 WhatsApp 网页中? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve