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

问题[reverse-proxy](ubuntu)

Martin Hope
D.Bugger
Asked: 2020-04-26 14:13:10 +0800 CST

验证:有人看到 apache2 用两个响应和一个标题响应吗?

  • 0

我已经在 launchpad.net 和 BugZilla 上提交了错误报告,但我想验证其他人是否遇到过这个问题。我们使用 apache2 作为客户网站的反向代理服务器。有时,随机的,但在所有请求的 2% 中,我们得到的不是正常的响应内容,而是一种双重响应:响应 A,然后是响应 B 的标头,然后是响应 B。这很烦人,因为网站是对客户来说非常重要,一个非功能性的网站可能会吓跑用户。

如果我们直接访问网络服务器,即没有代理服务器,完全没有问题。

我可以在这里重复整个故事(我会在需要时这样做),但我希望错误报告的链接就足够了:https ://bugs.launchpad.net/ubuntu/+source/apache2/+bug/1874932

StackOverflow 上的原始问题,当我认为这是 Web 服务器上的编程问题时:https ://stackoverflow.com/questions/61304769/xpages-server-sends-wrong-data-apache2-problem

再次,我的问题是:有没有人熟悉这种现象,如果有,有没有快速解决方法?还是我们应该使用不同的反向代理服务器?

谢谢你的帮助!

更新

error.log 文件的一部分,用于每分钟刷新一次的页面。前 2 段正确,第 3 段出错,第 4 段再次正确。希望这能给你一些线索......

[Sun Apr 26 12:09:22.769237 2020] [ssl:info] [pid 2797:tid 139815423543040] [client 12.34.56.789:40606] AH01964: Connection to child 64 established (server www.website.com:443)
[Sun Apr 26 12:09:23.012497 2020] [ssl:info] [pid 2797:tid 139815278311168] [client 12.34.56.789:40608] AH01964: Connection to child 73 established (server www.website.com:443)
[Sun Apr 26 12:09:23.552035 2020] [proxy:debug] [pid 2797:tid 139815423543040] mod_proxy.c(1161): [client 12.34.56.789:40606] AH01143: Running scheme http handler (attempt 0), referer: https://www.website.com/__Test__
[Sun Apr 26 12:09:23.552080 2020] [proxy:debug] [pid 2797:tid 139815423543040] proxy_util.c(2210): [client 12.34.56.789:40606] AH00944: connecting http://www.website.com:81/database.nsf/Page.xsp/Page?$$ajaxid=view%3A_id1%3A_id2%3A_id3%3A_id47%3A_id48%3A0%3A_id49%3A_id51%3AtblMemory&$$viewid=!3fa81zwu176jh8r7dcutv7eff! to www.website.com:81, referer: https://www.website.com/__Test__
[Sun Apr 26 12:09:23.552090 2020] [proxy:debug] [pid 2797:tid 139815423543040] proxy_util.c(2419): [client 12.34.56.789:40606] AH00947: connected /database.nsf/Page.xsp/Page?$$ajaxid=view%3A_id1%3A_id2%3A_id3%3A_id47%3A_id48%3A0%3A_id49%3A_id51%3AtblMemory&$$viewid=!3fa81zwu176jh8r7dcutv7eff! to www.website.com:81, referer: https://www.website.com/__Test__

[Sun Apr 26 12:10:22.701472 2020] [ssl:info] [pid 2796:tid 139815202776832] [client 12.34.56.789:40616] AH01964: Connection to child 18 established (server www.website.com:443)
[Sun Apr 26 12:10:22.953876 2020] [ssl:info] [pid 2796:tid 139815320274688] [client 12.34.56.789:40624] AH01964: Connection to child 4 established (server www.website.com:443)
[Sun Apr 26 12:10:23.442074 2020] [proxy:debug] [pid 2796:tid 139815202776832] mod_proxy.c(1161): [client 12.34.56.789:40616] AH01143: Running scheme http handler (attempt 0), referer: https://www.website.com/__Test__
[Sun Apr 26 12:10:23.442138 2020] [proxy:debug] [pid 2796:tid 139815202776832] proxy_util.c(2210): [client 12.34.56.789:40616] AH00944: connecting http://www.website.com:81/database.nsf/Page.xsp/Page?$$ajaxid=view%3A_id1%3A_id2%3A_id3%3A_id47%3A_id48%3A0%3A_id49%3A_id51%3AtblMemory&$$viewid=!3fa81zwu176jh8r7dcutv7eff! to www.website.com:81, referer: https://www.website.com/__Test__
[Sun Apr 26 12:10:23.442153 2020] [proxy:debug] [pid 2796:tid 139815202776832] proxy_util.c(2419): [client 12.34.56.789:40616] AH00947: connected /database.nsf/Page.xsp/Page?$$ajaxid=view%3A_id1%3A_id2%3A_id3%3A_id47%3A_id48%3A0%3A_id49%3A_id51%3AtblMemory&$$viewid=!3fa81zwu176jh8r7dcutv7eff! to www.website.com:81, referer: https://www.website.com/__Test__

[Sun Apr 26 12:11:21.443567 2020] [ssl:info] [pid 2796:tid 139815244740352] [client 12.34.56.789:40644] AH01964: Connection to child 13 established (server www.website.com:443)
[Sun Apr 26 12:11:21.534754 2020] [proxy:debug] [pid 2796:tid 139815244740352] mod_proxy.c(1161): [client 12.34.56.789:40644] AH01143: Running scheme http handler (attempt 0), referer: https://www.website.com/__Test__
[Sun Apr 26 12:11:21.534798 2020] [proxy:debug] [pid 2796:tid 139815244740352] proxy_util.c(2210): [client 12.34.56.789:40644] AH00944: connecting http://www.website.com:81/database.nsf/Page.xsp/Page?$$ajaxid=view%3A_id1%3A_id2%3A_id3%3A_id47%3A_id48%3A0%3A_id49%3A_id51%3AtblMemory&$$viewid=!3fa81zwu176jh8r7dcutv7eff! to www.website.com:81, referer: https://www.website.com/__Test__
[Sun Apr 26 12:11:21.534804 2020] [proxy:debug] [pid 2796:tid 139815244740352] proxy_util.c(2419): [client 12.34.56.789:40644] AH00947: connected /database.nsf/Page.xsp/Page?$$ajaxid=view%3A_id1%3A_id2%3A_id3%3A_id47%3A_id48%3A0%3A_id49%3A_id51%3AtblMemory&$$viewid=!3fa81zwu176jh8r7dcutv7eff! to www.website.com:81, referer: https://www.website.com/__Test__
[Sun Apr 26 12:12:22.627945 2020] [ssl:info] [pid 2797:tid 139815219562240] [client 12.34.56.789:40658] AH01964: Connection to child 80 established (server www.website.com:443)
[Sun Apr 26 12:12:22.872992 2020] [ssl:info] [pid 2797:tid 139815227954944] [client 12.34.56.789:40660] AH01964: Connection to child 79 established (server www.website.com:443)
[Sun Apr 26 12:12:23.303433 2020] [proxy:debug] [pid 2797:tid 139815219562240] mod_proxy.c(1161): [client 12.34.56.789:40658] AH01143: Running scheme http handler (attempt 0), referer: https://www.website.com/__Test__
[Sun Apr 26 12:12:23.303488 2020] [proxy:debug] [pid 2797:tid 139815219562240] proxy_util.c(2210): [client 12.34.56.789:40658] AH00944: connecting http://www.website.com:81/database.nsf/Page.xsp/Page?$$ajaxid=view%3A_id1%3A_id2%3A_id3%3A_id47%3A_id48%3A0%3A_id49%3A_id51%3AtblMemory&$$viewid=!3fa81zwu176jh8r7dcutv7eff! to www.website.com:81, referer: https://www.website.com/__Test__
[Sun Apr 26 12:12:23.303496 2020] [proxy:debug] [pid 2797:tid 139815219562240] proxy_util.c(2419): [client 12.34.56.789:40658] AH00947: connected /database.nsf/Page.xsp/Page?$$ajaxid=view%3A_id1%3A_id2%3A_id3%3A_id47%3A_id48%3A0%3A_id49%3A_id51%3AtblMemory&$$viewid=!3fa81zwu176jh8r7dcutv7eff! to www.website.com:81, referer: https://www.website.com/__Test__

[Sun Apr 26 12:13:21.524116 2020] [ssl:info] [pid 2796:tid 139815286703872] [client 12.34.56.789:40672] AH01964: Connection to child 8 established (server www.website.com:443)
[Sun Apr 26 12:13:21.817112 2020] [ssl:info] [pid 2796:tid 139815345452800] [client 12.34.56.789:40674] AH01964: Connection to child 1 established (server www.website.com:443)
[Sun Apr 26 12:13:22.121726 2020] [proxy:debug] [pid 2796:tid 139815286703872] mod_proxy.c(1161): [client 12.34.56.789:40672] AH01143: Running scheme http handler (attempt 0), referer: https://www.website.com/__Test__
[Sun Apr 26 12:13:22.121779 2020] [proxy:debug] [pid 2796:tid 139815286703872] proxy_util.c(2210): [client 12.34.56.789:40672] AH00944: connecting http://www.website.com:81/database.nsf/Page.xsp/Page?$$ajaxid=view%3A_id1%3A_id2%3A_id3%3A_id47%3A_id48%3A0%3A_id49%3A_id51%3AtblMemory&$$viewid=!3fa81zwu176jh8r7dcutv7eff! to www.website.com:81, referer: https://www.website.com/__Test__
[Sun Apr 26 12:13:22.121785 2020] [proxy:debug] [pid 2796:tid 139815286703872] proxy_util.c(2419): [client 12.34.56.789:40672] AH00947: connected /database.nsf/Page.xsp/Page?$$ajaxid=view%3A_id1%3A_id2%3A_id3%3A_id47%3A_id48%3A0%3A_id49%3A_id51%3AtblMemory&$$viewid=!3fa81zwu176jh8r7dcutv7eff! to www.website.com:81, referer: https://www.website.com/__Test__
apache2 reverse-proxy
  • 1 个回答
  • 50 Views
Martin Hope
Danial Behzadi
Asked: 2020-03-16 15:15:54 +0800 CST

Nginx 作为 SSH 网关?

  • 0

我有一个服务器,它通过 LXD 为其他一些系统提供服务,使用 Nginx 作为反向代理在 HTTP 上访问它们。

现在我想将其中一个的 shell 访问权限授予朋友。事实上,我希望能够直接通过 SSH 连接到 LXD 机器,而无需先通过 SSH 连接到主服务器。

我使用了 Nginx 的流函数如下:

stream {
upstream ssh {
    server 240.17.0.16:22;
}

server {
    listen 22;
    server_name bbb.flossir.org;
    proxy_pass ssh;
}
}

但是 Nginx 说它不能server_name在流部分处理:

nginx: [emerg] "server_name" directive is not allowed here in /etc/nginx/streams-enabled/bigbluebutton:7

我应该怎么办?

ssh nginx reverse-proxy lxd
  • 1 个回答
  • 4014 Views
Martin Hope
Harsha
Asked: 2019-03-05 21:51:15 +0800 CST

Nginx 规则限制特定页面仅在私有 ip 上呈现

  • 0

我正在使用 keycloak,它在公共 ip 和管理控制台上运行,也可以通过公共 ip 访问,我正在使用 nginx Web 服务器。我要求只能在私有 IP 上访问管理控制台。其他 URL 应该在公共 ip/域名上正常工作。

现在,例如:domain_name/auth和domanin_name/auth/realm/admin和其他 url 可以公开访问。

要求:只有这个管理控制台域名/auth/realm/admin url 只能通过私有 ip 访问。

这可以通过nginx规则完成吗?

请任何人帮助我。

下面是我正在尝试的配置,但它没有按预期工作。

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name _;

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.

        rewrite ^/(.*) /$1 break;
        proxy_ignore_client_abort on;
        proxy_pass http://localhost:8880;
        proxy_set_header  X-Real-IP  $remote_addr;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header  Host $http_host;
    }

    location /auth/realms/master {
        allow 127.0.0.1;
        deny all;
        #try_files $uri $uri/ =404
    }
}
proxy webserver nginx reverse-proxy
  • 1 个回答
  • 824 Views
Martin Hope
Dean MacGregor
Asked: 2018-05-04 09:24:39 +0800 CST

在反向代理后面运行 Pgadmin4

  • 2

我正在尝试在 Nginx 反向代理后面运行 pgadmin4,但我遇到了一个问题,因为我需要 pgadmin 知道它在 myhost.com/pgadmin 而不仅仅是在 myhost.com .... 或者至少我认为那就是问题所在。

在其他网络应用程序中,通常有一些名为 webroot 的设置或类似的设置来指定它应该认为自己位于那里,但对于 pgadmin4,我找不到类似的东西。

这个设置是否存在,如果存在,它在哪里?

如果没有,是否有解决方法?

nginx reverse-proxy pgadmin
  • 2 个回答
  • 7925 Views
Martin Hope
Student Michal Wloga
Asked: 2018-04-09 07:14:56 +0800 CST

nginx 和 apache2 在同一台服务器上

  • 2

我有带有 nginx 和 apache2 的 ubuntu 16.04。有 2 条 DNS A 记录指向这台机器:

  • app1.mydomain.com
  • app2.mydomain.com

我需要 app1.mydomain.com 由 apache 解析, app2.mydomain.com 由 nginx 解析。两者都在端口 80 上。有可能吗?

此外,apache 需要处理 2 个不同的应用程序(site1 和 site2)。

我想:

  • app1.mydomain.com/site1 - 由 apache 解析并运行应用程序 site1
  • app1.mydomain.com/site2 - 由 apache 解决并触发应用程序 site2
  • app2.mydomain.com - 使用 nginx 服务 ghost 应用程序

这是我的 Apache 配置:

<VirtualHost *:80>
    ServerAdmin [email protected]

    ServerName app1.mydomain.com

    ServerAlias www.app1.mydomain.com

    ErrorLog /var/www/site1/logs/error.log

    CustomLog /var/www/site1/logs/access.log combined

    WSGIScriptAlias /api /var/www/site1/application/index.py/

    Alias /static /var/www/site1/application/static

    <Directory /var/www/site1/application>
            Order deny,allow
            Allow from all
    </Directory>

    AddType text/html .py

    ErrorLog /var/www/site2/logs/error.log
    CustomLog /var/www/site2/logs/access.log combined

    WSGIScriptAlias /site2 /var/www/site2/index.py/
    Alias /site2/uploads /var/sftp/site2/uploads/

    <Directory /var/www/site2/>
            Order deny,allow
            Allow from all
    </Directory>

这是我的 NGINX 配置文件:

server {
listen 8080;
listen [::]:8080;

server_name app2.mydomain.com;
root /var/www/ghost/system/nginx-root;

location / {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $http_host;
    proxy_pass http://127.0.0.1:2368;

}
location ~ /.well-known {
    allow all;
}

client_max_body_size 50m;
}
apache2 nginx 16.04 reverse-proxy
  • 2 个回答
  • 2055 Views
Martin Hope
M4SX5
Asked: 2018-03-21 09:07:52 +0800 CST

Traefik 无法到达容器

  • 0

几天以来我一直在尝试解决这个问题,但我没有得到它,我在互联网上也没有找到任何有用的东西,所以我会非常感谢每一个提示。

几周前,我设置了一个新的 Ubuntu 16.04.4 LTS 服务器。我安装了 docker 并在其上运行了一个内部网页。现在我们有了一个额外的网页,我想让它们可以通过两个不同的子域访问。

  • appone.qwert.de
  • apptwo.qwert.de

出于这个原因,我购买了域 qwert.de 并要求我的提供商提供一个固定的 IP 地址。我的服务器现在可以通过域 qwert.de 访问。

然后我发现 traefik 几乎可以满足我的所有需求。所以我用以下配置安装了它:

debug = false

logLevel = "ERROR"
defaultEntryPoints = ["https","http"]

[entryPoints]
  [entryPoints.http]
  address = ":80"
    [entryPoints.http.redirect]
    entryPoint = "https"
  [entryPoints.https]
  address = ":443"
  [entryPoints.https.tls]

[retry]

[docker]
endpoint = "unix:///var/run/docker.sock"
domain = "qwert.de"
watch = true
exposedbydefault = false

[acme]
email = "[email protected]"
storage = "acme.json"
entryPoint = "https"
OnHostRule = true
[acme.httpChallenge]
entryPoint = "http"

然后我使用以下 docker-compose 命令启动容器:

version: '2'

services:
  traefik:
    image: traefik:latest
    restart: always
    ports:
      - 80:80
      - 443:443
    networks:
      - web
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /srv/docker/traefik/traefik.toml:/traefik.toml
      - /srv/docker/traefik/acme.json:/acme.json
    container_name: traefik

networks:
  web:
    external: true 

一切正常,我收到了 traefik 的典型“404 页面未找到”消息。之后,我使用以下代码启动了一个基本的 nginx 容器:

sudo docker run -d --label "traefik.frontend.rule=HOST:appone.qwert.ch" --network web nginx:latest

但是,当我现在尝试调用网站 appone.qwert.ch 时,我也会收到典型的“404 页面未找到”消息。

我不知道我是否必须以某种方式使用新域配置服务器,或者我是否做错了什么。

我的 /etc/hosts/ 文件如下所示:

127.0.0.1       qwert.de  Linux-Server
127.0.1.1       Linux-Server
212.153.72.45   qwert.de Linux-Server

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

我真的很感激每一个回复。

docker reverse-proxy
  • 1 个回答
  • 8026 Views
Martin Hope
ndemarco
Asked: 2018-03-07 03:19:05 +0800 CST

如何在不指定端口号的情况下使 Logitech Media Server 可用?

  • 1

Logitech Media Server是一款流式音频服务器,以前由 Slim Devices 开发,称为 SlimServer。它将音频流式传输到 Squeezebox 设备(由 Logitech 提供)和第三方设备,如基于 Raspberry Pi 的PiCorePlayer。

使用默认选项安装时,Logitech Media Server 在端口 9000 上可用。默认 URL 为http://myserver:9000.

我想将 URL 重写为http://myserver/music.

从同行那里,我了解到需要反向代理服务器。我试图为此使用 nginx,但没有成功。我很确定 Apache 可以解决这个问题,但是这两种解决方案都没有成功。我渴望学习!

SlimDevices wiki 上的这篇文章解释了使用 Apache 的过程。我关注了这篇文章,但没有成功。

文章指出要安装未找到的软件包libapache2-mod-proxy-html。我从这篇文章中了解到,它不再需要。按照说明,似乎libapache2-mod-proxy-html不是我的问题的原因。我是一个寻求帮助的人,所以我顺从别人。

文章的配置文件是:

# Slimserver Reverse Proxy Configuration
# Prepared by BV January 2008
#
# Make sure that the server cannot be abused
#
ProxyRequests Off

# The Proxy section below allows internet users
# to access the internal server

ProxyPass /slimserver/ http://localhost:9000/
ProxyHTMLURLMap http://localhost:9000 /slimserver
<Location /slimserver/>
    Order allow,deny
    Allow from all
    ProxyPassReverse / 
    SetOutputFilter proxy-html 
    ProxyHTMLURLMap / /slimserver/ 
    ProxyHTMLURLMap /slimserver /slimserver 
    RequestHeader unset Accept-Encoding
</Location>

当我实施文章的解决方案并尝试在http://myserver/slimserveror上访问 Logitech Media Server 时http://myserver/slimserver,我得到了正确的页面背景,但主要内容仅显示Loading Logitech Media Server...。 正在加载 Logitech Media Server... 屏幕图像 URLhttp://myserver:9000有效。我可以正常与罗技媒体服务器交互。

我更愿意学习在 nginx 中执行此操作的方法,因为这是我的同事今天使用并且最熟悉的方法。如果向我展示了如何在 Apache2 中执行此操作,我可以尝试自己在 nginx 中复制该功能作为学习经验。一旦显示正确的方法,我将进入 Apache 或 nginx 文档并研究解决方案的细节。如上所述重写 URL 是我多年来一直想做的事情 [在此处插入尴尬的表情符号],但没有成功。

apache2 nginx reverse-proxy
  • 2 个回答
  • 1431 Views

Sidebar

Stats

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

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve