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
    • 最新
    • 标签
主页 / server / 问题

问题[backend](server)

Martin Hope
acib708
Asked: 2020-12-03 17:30:36 +0800 CST

在两个 IPsec 隧道之间路由流量

  • 1

我在 DO 基础设施上运行了一个后端,称为站点Yvi ,它通过 IPsec 隧道连接到第三方站点Prov ,使用以下 libreswan 配置:

conn prov-client
  ...
  right=$YVI_IP
  rightsourceip=10.31.3.1
  rightsubnet=10.31.3.0/28
  left=$PROV_IP
  leftsubnet=10.70.0.36/28

Prov有一个服务器正在运行10.70.0.37,我可以从Yvi与它进行交互。

我的问题是我正在设置一个本地开发环境(另一个网络中的一个 Ubuntu 机器),每次我进行更改时,我都必须部署到Yvi,因为只有从那里我才能到达Prov中的 API 。我想通过将Local连接到Yvi并将该流量路由到Prov来避免这种情况,以便能够从Local访问Prov中的 API并简化开发。

我使用以下配置将Local连接到Yvi作为公路战士:

conn remote-dev-client
  ...
  left=$YVI_IP
  leftsubnet=10.31.3.0/28
  right=%any
  rightaddresspool=10.31.4.1-10.31.4.254

连接已成功建立,我可以从Local我到达Yvi。我想要的是从Local到达Prov。到网络的路由不会自动添加,所以我尝试在Local上手动设置一些规则:10.31.3.110.70.0.3710.70.0.36/28ip xfrmip route

# Outgoing
ip xfrm policy add dst 10.70.0.37 src 10.31.4.1 dir out tmpl src $LOCAL_IP dst $YVI_IP proto esp spi $SPI reqid $REQID mode tunnel priority 100000

# Incoming
ip xfrm policy add dst 10.31.4.1 src 10.70.0.37 dir fwd tmpl src $YVI_IP dst $LOCAL_IP proto esp reqid $REQID mode tunnel priority 100000
ip xfrm policy add dst 10.31.4.1 src 10.70.0.37 dir in tmpl src $YVI_IP dst $LOCAL_IP proto esp reqid $REQID mode tunnel priority 100000

ip route add table 220 src 10.31.4.1 10.70.0.37 via $LOCAL_IP dev $LOCAL_IF proto static

我现在ip xfrm monitor在Yvi上运行,然后从Local ping运行10.70.0.37;我可以看到到达Yvi的数据包(来自Yvi中的 xfrm 监视器),但只有传出,而不是响应(例如,如果我 ping 10.31.3.1 可以看到),这表明Yvi正在接收流量但没有路由它对省?我真的不知道如何解释这个。

我想我必须在Yvi中添加路由才能正确地将流量路由到Prov API,但是在上面添加类似的规则并没有奏效。我很感激帮助我理解我所缺少的,以及我做错了什么。

也欢迎提出不同方法的建议,尽管连接到我无法控制的Prov的唯一方法是通过我控制的Yvi的 IPsec 隧道。

vpn ipsec strongswan backend libreswan
  • 1 个回答
  • 630 Views
Martin Hope
FxckDead
Asked: 2020-11-18 12:47:53 +0800 CST

以异步方式缓存请求

  • 0

有很多选项可以在 Web 服务器/代理上缓存请求,但我正在寻找一种方法来让传入的请求“等待”直到缓存准备好,然后用缓存响应所有排队的请求。

我几乎可以肯定我在一些 Medium 帖子中读到过它,但我找不到它,所以也许这里的一些大师可以指导我走这条路。

更新

感谢@martynas-saint 的评论,我找到了我正在寻找的帖子, 并且通过连续的大量资源讨论了这个话题,所以非常感谢!

cache backend
  • 1 个回答
  • 55 Views
Martin Hope
Stonecraft
Asked: 2020-10-23 08:20:13 +0800 CST

如何在 nginx 和应用程序之间的后端正确配置 SSL?

  • 0

我正在尝试在后端配置重新加密,以便 nginx 和上游应用程序之间的流量与用户和 nginx 之间的流量分开加密。出于测试示例的目的,我使用的是:https ://github.com/jlengstorf/tutorial-deploy-nodejs-ssl-digitalocean-app.git. 我已经阅读了很多线程,但我总是得到错误 502:错误网关。另外,我不确定它是多么偏执,甚至为此烦恼。一切都在一个主机上,但我将运行多个服务,我的理由是它们中的任何一个都可能存在漏洞,并且每个应用程序都可以通过不同的证书与 nginx 通信来减轻这种风险。为使示例简单,我只对 Everything 使用了一个键。显然,如果我真的这样做,我将为每个重新加密实例制作一个新证书。我是网络托管和考虑安全性的新手,所以如果我在上面说了任何令人毛骨悚然的话,请告诉我。

mydomain.conf

# HTTP — redirect all traffic to HTTPS
server {
    listen 443 ssl;
    server_name 127.0.0.1:5000;
    ssl_certificate /etc/letsencrypt/live/mydomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mydomain.com/privkey.pem;
    root /var/www/html;
    index test_index.html;
    return 301 https://$host$request_uri;
}


# HTTPS — proxy all requests to the Node app
server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name mydomain.com;
    root /var/www/html;
    index test_index.html;
    # Use the Let’s Encrypt certificates
    ssl_certificate /etc/letsencrypt/live/mydomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/mydomain.com/privkey.pem;
    # Include the SSL configuration from cipherli.st
    include snippets/ssl-params.conf;
    location /app {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-NginX-Proxy true;
        proxy_pass https://localhost:5000/;
        proxy_ssl_verify on;
        proxy_ssl_trusted_certificate /etc/letsencrypt/live/mydomain.com/fullchain.pem;
        proxy_ssl_certificate_key /etc/letsencrypt/live/mydomain.com/privkey.pem;
        proxy_ssl_session_reuse off;
        proxy_set_header Host $http_host;
        proxy_cache_bypass $http_upgrade;
        proxy_redirect off;
    }
}

/var/nginx/error.log 中的相应错误:

2020/10/22 16:17:13 [error] 11311#11311: *1 SSL_do_handshake() failed
(SSL: error:1408F10B:SSL routines:ssl3_get_record:wrong version number
) while SSL handshaking to upstream, client: xx.xxx.xx.xx, server: the
3guys.com, request: "GET /app HTTP/1.1", upstream: "https://127.0.0.1:
5000/", host: "mydomain.com"


在 nginx 站点 conf 中包含的 ssl-params.conf 片段中,我设置为使用我知道的所有 TLS 版本:

ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl nginx reverse-proxy backend
  • 1 个回答
  • 5940 Views
Martin Hope
klor
Asked: 2020-10-15 08:32:59 +0800 CST

仅允许来自主机服务器的反向代理访问

  • 0

我有两台服务器 A)前端服务器(IP 11.22.33.44),B)后端服务器(IP 22.33.44.55)。两者都使用 Debian Linux 和 Apache 服务器。

A) 前端服务器使用反向代理来显示 B) 后端服务器的内容。我想将后端服务器的 Apache 访问限制为 ip 11.22.33.44(应该只能从 A)前端服务器访问)。后端服务器侦听启用 SSL 的端口 1111 和 2222(为两个不同的反向代理站点提供服务)。

我在后端服务器上试过:

<Proxy "*">
    Require ip 11.22.33.44
</Proxy>

和

<Proxy "*">
    order deny,allow
    Deny from from all
    Allow from 11.22.33.44
</Proxy>

但我没有成功。我仍然可以通过 URL https://22.33.44.55:1111的网络浏览器访问。

将后端服务器的访问限制为前端服务器的 IP 地址的任何其他想法?

debian reverse-proxy apache-2.4 restrictions backend
  • 1 个回答
  • 226 Views
Martin Hope
user3063800
Asked: 2017-01-03 15:50:50 +0800 CST

内部网络中受信任的 SSL,无需访问 Internet

  • 2

我有一个 Raspberry PI 3 作为 WiFi 网络的路由器。
它可以没有互联网访问。
我正在这个覆盆子上运行 android/iOS 应用程序的后端。
我想通过 SSL 连接前端,以排除连接到此 wifi 的其他人的任何间谍活动。

问题:

  1. Android/iOS 不允许我使用自签名证书连接到 ssl。
  2. 我可以通过创建自己的 CA 并将其加载到手机来解决它,但是每个想要使用我的应用程序的人都必须下载 CA 并加载它。(这有点令人沮丧......)
  3. 它可以通过购买证书来解决(或使用 LE,但有时可能会失败,因为我将部署数千个覆盆子......那时很难管理它)。
  4. 我没有那个覆盆子的域。我可以将它添加到我的 DNS 服务器,但如果没有互联网连接,它将无法访问。
  5. 所以我可以用bind9在树莓上建立DNS服务器来收集除我的域之外的其他条目。

有这么难吗?有没有更简单的办法?
像带 SSL 的 WiFi 之类的东西?

domain-name-system wifi ssl linux-networking backend
  • 1 个回答
  • 1382 Views
Martin Hope
vgrinko
Asked: 2016-12-09 22:55:23 +0800 CST

如何在 Nginx 中为 400 和 500 proxy_pass 后端响应设置自定义标头?

  • 2

我需要根据 proxy_pass 后端响应代码的响应设置不同的自定义响应标头值。

我尝试了许多不同的方法,但仍然无法弄清楚如何做到这一点。

location /mypath {
    #for 200,301,302,etc "good" responses from 127.0.0.1:8080 I need to set value 60
    add_header X-MyCustomHeader 60;

    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://127.0.0.1:8080;

    #for 404,403 responses from 127.0.0.1:8080 I need to set X-MyCustomHeader=5
    #for 500 responses from 127.0.0.1:8080 I need to set X-MyCustomHeader=1
}

任何帮助表示赞赏。

http nginx reverse-proxy proxypass backend
  • 1 个回答
  • 3414 Views

Sidebar

Stats

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

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve