标签: jetty

使用 Apache 2.2.3 (Debian) mod_proxy 和 Jetty 6.1.18 出现代理错误 502“原因:从远程服务器读取错误”

Apache 在端口 :80 接收请求并将它们代理到端口 :8080 的 Jetty

The proxy server received an invalid response from an upstream server
The proxy server could not handle the request GET /.
Run Code Online (Sandbox Code Playgroud)

我的困境:一切正常(快速请求,几秒或几十秒长的请求处理正常)。当请求处理需要很长时间(几分钟?)会出现问题

如果我直接在端口 :8080 向 Jetty发出请求,则请求处理正常。所以问题很可能出现在我使用mod_proxy 的Apache 和 Jetty 之间。如何解决这个问题?

我已经尝试了一些与 KeepAlive 设置相关的“技巧”,但没有运气。这是我目前的配置,有什么建议吗?

#keepalive Off                     ## I have tried this, does not help
#SetEnv force-proxy-request-1.0 1  ## I have tried this, does …
Run Code Online (Sandbox Code Playgroud)

jetty apache-2.2

89
推荐指数
3
解决办法
41万
查看次数

我们如何增加 Jetty 中允许的最大 HTTP GET 查询长度?

我们正在使用 Jetty 来运行 Apache Solr 索引。我们有一些查询已经超出了之前预期的最大长度,现在遇到了大多数查询不返回任何数据的问题,因为服务器没有响应(浏览器显示“连接重置”)。

这些请求不是通过浏览器发出的,而是使用 Apache_Solr_Service PHP 库以编程方式发出的。应用程序期望查询以 HTTP GET 请求的形式出现,因此简单地切换到 POST 并不能解决这个问题。

我们如何增加 Jetty 中允许的最大 HTTP GET 查询长度?

谢谢!

jetty solr

16
推荐指数
3
解决办法
3万
查看次数

阿帕奇的替代品

我们当前的堆栈是 Apache + Tomcat + MySQL,使用ProxyPassAJP 将请求从 Apache 发送到 Tomcat。我们还在相同的站点上为 Wordpress 运行 PHP,因此需要工作.htaccess文件。为了解决一个烦人的问题(请参阅此堆栈溢出页面),我们正在考虑替代堆栈。请注意,我们通常非常喜欢 apache,但这个问题是个障碍:如果我们不能修复它,我们就不能使用 Apache。

替代方案包括:

  • 单独的Tomcat
  • Glassfish(Java 应用服务器,从 Tomcat 分叉)
  • 码头(Java 服务器)
  • 树脂
  • LightTPD(轻量级 HTTP 服务器)
  • Nginx(轻量级 HTTP 服务器)

在我看来,解决方案分为两个阵营:纯 Java 阵营,如 Glassfish;或者分裂阵营,比如我们现在的Apache + Tomcat。我们喜欢纯 Java 解决方案的想法,因为更少的活动部件意味着更少的错误;但是它们中的任何一个都支持 PHP、.htaccess文件等吗?

从理论上讲,我们可以用另一种方式进行拆分——有一个简单的前端,只在需要这些功能的那些位上代理 Apache——但实际上这将是 80% 的请求。

人们建议什么选择?

tomcat glassfish jetty nginx apache-2.2

15
推荐指数
2
解决办法
3631
查看次数

配置 Jetty 以接受来自 Ubuntu Lucid 上所有主机的连接

我希望 Jetty 在端口 8080 上为来自任何主机的连接提供服务。我的/etc/default/jetty文件有:-

NO_START=0
JETTY_HOST=
JETTY_PORT=8080
Run Code Online (Sandbox Code Playgroud)

该服务器是一个基于 Lucid Lynx 32 位服务器 AMI 的 EC2 小型实例。APT 配置为启用了多元宇宙,并启用了规范合作伙伴存储库。Jetty 是来自合作伙伴存储库的 6.1.22。

当我使用 开始 jetty 时sudo /etc/init.d jetty start,它可以工作,并侦听来自 localhost 的连接,但不侦听其他任何连接:-

ubuntu@ip-10-224-70-51:/etc/network/if-pre-up.d$ sudo netstat -nlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
413/sshd
tcp6       0      0 127.0.0.1:8080          :::*                    LISTEN
5655/jsvc
tcp6       0      0 :::22                   :::*                    LISTEN
413/sshd
udp        0      0 0.0.0.0:68              0.0.0.0:*
260/dhclient3
Active …
Run Code Online (Sandbox Code Playgroud)

jetty ubuntu-10.04

15
推荐指数
1
解决办法
2万
查看次数

如何让 Jetty 将 http 重定向到 https

我想使用 Jetty (6.1.24) 将所有对 http 的请求重定向到 https。出于某种原因(我的无知)这让我望而却步。这就是我所拥有的:

<New id="redirect" class="org.mortbay.jetty.handler.rewrite.RedirectPatternRule">
  <Set name="pattern">http://foobar.com/*</Set>
  <Set name="location">https://foobar.com</Set>
</New>
Run Code Online (Sandbox Code Playgroud)

作为回应,我得到 200 - 好的,正文是 http 上的页面,即不会发生重定向。

jetty

12
推荐指数
2
解决办法
2万
查看次数

此 Kerberos/AD 设置是否可行?

我们有一个稍微复杂的 IDAM 设置:

在此处输入图片说明

即最终用户的机器和浏览器与父 AD 位于一个网络中,而我们基于 Jetty 的应用程序和它可以与之通信的 AD(本地 AD)位于另一个网络中。

两个 AD 之间存在双向信任。父网络中的浏览器在受信任站点中具有本地域。

Jetty 服务器的设置如下:

  • 它使用针对本地 AD 中的主体生成的密钥表文件
  • 它在本地 AD 中定义的用户下作为 Windows 服务运行
  • 领域、域-领域映射和 kdc 是针对本地 AD 的域定义的
  • 它使用 spnego - isInitiator 设置为 false;doNotPrompt 为真;storeKey 为真

问题是:

  • 作为测试,从本地网络内的浏览器(即链接到本地​​ AD)访问服务器有效- Kerberos 调试信息出现在日志中,我可以在 HTTP 流量中看到正确的 Kerberos 协商,并且用户自动登录. 杰出的。
  • 然而,从父网络内的浏览器访问服务器(这是我们的用户将如何做事)不起作用!浏览器返回 401 unauth,然后提示输入凭据,输入时显示空白屏幕。然后单击地址栏并按 Enter 会执行以下两项操作之一,具体取决于凭据是用于远程 AD 还是本地 AD:

    • 本地 AD 凭据然后正常登录,在日志中使用 Kerberos 从头开始​​(GET 请求、401 unauth 响应、Kerberos 标头请求等)
    • 远程AD证书不登录(GET请求,401 UNAUTH响应,看起来像一个NTLM头:Authorization: Negotiate <60 or so random chars>

无论哪种方式,它提示的事实都是错误的!

这些症状有解释吗?我们拥有的设置可以做我们想要的吗?

就上述描述而言可能是错误的:我提到的有关 Jetty …

active-directory jetty kerberos spnego

10
推荐指数
1
解决办法
593
查看次数

如何在 Jetty 中启用 GZIP 压缩?

我有一个没有启用压缩的 Jetty 服务器(我在这里测试过)。如何启用压缩?

compression jetty gzip

9
推荐指数
1
解决办法
2万
查看次数

Apache ProxyPass 忽略静态文件

Apache 前端服务器连接到 Jetty 应用程序服务器时出现问题。

我认为ProxyPass !在位置块中不应该将处理传递给应用程序服务器,但由于某种原因,在我的情况下没有发生,Jetty 在缺少的静态(js、css 等)上显示 404

这是我的 Apache (v 2.4, BTW) 虚拟主机块:

DocumentRoot /path/to/foo
  ServerName foo.com
  ServerAdmin webmaster@foo.com

  RewriteEngine On

  <Directory /path/to/foo>
    AllowOverride  None
    Require all granted
  </Directory>

  ProxyRequests Off
  ProxyVia Off
  ProxyPreserveHost On

  <Proxy *>
    AddDefaultCharset off
    Order deny,allow
    Allow from all
  </Proxy>

  # don't pass through requests for statics (image,js,css, etc.)
  <Location /static/>
    ProxyPass !
  </Location>

  <Location />
    ProxyPass           http://localhost:8081/
    ProxyPassReverse    http://localhost:8081/
    SetEnv              proxy-sendchunks 1
  </Location>
Run Code Online (Sandbox Code Playgroud)

jetty static-content proxypass apache-2.4

8
推荐指数
1
解决办法
2万
查看次数

nginx 正在运行但未提供服务?

我一直在尝试将 nginx 设置为码头的代理。我有一台运行 ubuntu 服务器的笔记本电脑。现在我让码头在 localhost:8080 上工作,它在http://192.168.1.5:8080/my-webapp-0.1.0-standalone/.

我像这样配置了 nginx(我从这个页面改编了它):

server {
  listen 80;
  server_name nomilkfor.me;
  rewrite ^(.+?)/?$ http://nomilkfor.me$1 permanent;
}

server {
  listen 80;
  server_name www.nomilkfor.me;
  root /usr/share/nginx/html;

  location / {
    try_files $uri @my-webapp;
  }

  location @my-webapp {
    proxy_pass http://localhost:8080;
  }
}
Run Code Online (Sandbox Code Playgroud)

我可以从我的家庭网络连接到 nginx 并看到 nginx 欢迎屏幕。

我也试过 $ sudo netstat -tanpl|grep nginx

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      3264/nginx: worker 
Run Code Online (Sandbox Code Playgroud)

我看到 nginx 正在侦听端口 80。

但是当我尝试加载 nomilkfor.me 时,我收到“Chrome 无法连接到 nomilkfor.me”错误。

我究竟做错了什么?



编辑

我创建了一个非常简单的配置,这个配置也通过 jetty为index.htmlin …

ubuntu jetty nginx java

8
推荐指数
1
解决办法
5万
查看次数

Jetty - 虚拟主机 - SSL 证书

我想为我在单个 Jetty 实例中托管的不同域使用不同的 SSL 证书。

我不想在我的 Jetty 应用服务器前面使用 Apache。

我正在运行 Jetty 6.1.22。到目前为止,我只看到了具有单个 SSL 证书的配置,并且 SSL 的配置发生在服务器中,这让我相信 Jetty 旨在支持单个 SSL 证书。

请让我知道我是否可以使用具有 1 个以上证书的 Jetty。

我正在考虑迁移到 JBoss Application Server 6.0,因为它更接近于真正的应用服务器。这是可以在那里完成的事情吗,它是受支持的功能吗?

经过一番搜索,我发现了这个:https : //stackoverflow.com/questions/208149/configure-multiple-keystores-in-jboss-depending-on-requested-hostname

是这样吗?如果是这样,那么我怀疑 Jetty 或任何其他应用程序服务器是否会支持它。我需要有 2 个不同的连接器 - 不同的端口或 IP 地址。然后,在这种情况下,我需要使用 Apache 代理 Jetty/JBoss。

沃尔特

jetty jboss virtualhost ssl-certificate

7
推荐指数
1
解决办法
2290
查看次数