ZEUS ZXTM Interrompt la demande HTTP au servlet Java HTTP 404?

J'ai un servlet Java intitulé «ARI», qui récupère les données de la base de données d'archives et renvoie la charge utile XML Avec des lignes de cette base de données.

Nous avons plusieurs instances de ce servlet en cours d'exécution sur des serveurs virtuels d'une case, et ils peuvent y accéder via un autre numéro de port, par exemple:

testserver.co.uk:61061/aricp/ari

testserver.co.uk:61062/aricp/ari

Pour ces deux serpents, vous pouvez accéder avec succès directement à partir du client. Voici un exemple de conversation entre le client et le serveur obtenu lors de la capture de paquets.

Demande HTTP réussie:

POST / aricp / ari HTTP / 1.1 Accept-Charset: UTF-8

Content-Type: application / x-www-form-urlencoded; codage = UTF-8

Agent personnalisé: Java / 1.6.0_25

Héberger: testserver.co.uk:61061

Accepter: text / html, image / gif, image / jpeg, *; q = .2,

/

; q = .2

Connexion: keep-alive

Longueur du contenu: 11

id = 1-134ISR

Faites attention à la variable POST "id" Demande

Réponse réussie

HTTP / 1.1 200 d'accord

Serveur: Sun-ONE-Web-Server / 6.1

Date: w, 8 janvier 2013 g. 17:48:49 GMT

Type de contenu: Texte / html

Codage de transmission: fragmenté

03a6


* Journal de serveur de requêtes HTTP réussie *

[09 / Jan. / 2013: 10: 25: 33] bien (16359): Pour l'hôte 10.232.191.87, en essayant GET / aricp / ari, ntrans-j2ee Rapports: mappé uri "/ ari" dans le cadre "/ aricp" Pour la ressource "Ari"

Alors envoyez des requêtes directes à notre servlet peut toutefois, si nous utilisons ZEUS ZXTM Pour un traitement indirect des requêtes du client à toutes les instances de notre servlet, elle ne fonctionnera pas.

Voici une demande HTTP ayant échoué, faites attention à la différence de l'adresse HOST, dans la mesure où ZEUS Il est un intermédiaire.

ZEUS Failed Demande HTTP

POST / aricp / ari HTTP / 1.1 Accept-Charset: UTF-8

Content-Type: application / x-www-form-urlencoded; codage = UTF-8

Agent personnalisé: Java / 1.6.0_25

Héberger: zeus.co.uk:61061

Accepter: text / html, image / gif, image / jpeg, *; q = .2,

/

; q = .2

Connexion: keep-alive

Longueur du contenu: 11

id = 1-PUZK7D

Erreur de réponse HTTP ZEUS

HTTP / 1.1 404 Pas trouvé

Serveur: Sun-ONE-Web-Server / 6.1

Date: w, 8 janvier 2013 g. 18:05:45 GMT

Longueur du contenu: 292

Type de contenu: Texte / html

Utilisant ZEUS Le serveur Web ne peut pas interpréter la demande provenant de ZEUS, En tant que demande de servlet, cela semble littéralement interprète URI Demander comme chemin avec le fichier et nous obtenons 404 not found.

ZEUS Failed HTTP Request Server Log

[09 / Jan. / 2013: 10: 50: 45] Attention (16886): Pour l'hôte 10.232.184.53, essayer d'obtenir / aricp / ari, Rapports d'envoi de fichiers: HTTP4142: N'a pas pu trouver / u02 / SunONE61060 / docs / aricp / ari (Fichier introuvable)

Comme vous pouvez le constater, il considère uri Comme le chemin du catalogue, et non comme un chemin d'accès à l'application.

C'est un problème très étrange.

Choses que j'ai essayé

Suppression de la liste de contrôle d'accès pour vous assurer que l'accès n'a pas été limité

Mettre à jour le servlet et le serveur virtuel

Zeus rafraîchissant

Redémarrez le serveur Web Sun One

Réinstallation de servlet sur un serveur virtuel

Ainsi, ça marche bien comme ceci:

Client -> Serveur

Cependant, cela ne fonctionne pas:

Client --ZEUS -> Serveur

Je vais mettre à jour l'installation d'un nouveau serveur virtuel et voir ce qui se passe.

Toute idées ou théories sont les bienvenues.
Invité:

Alice

Confirmation de:

Je ne sais pas pourquoi vous n'avez qu'un seul serveur interne, c'est peut-être juste une installation de test.

ZXTM - Un équilibre de charge puissant, il semble que vous utilisez maintenant plus ou moins l'utiliser comme proxy inverse.

En tout cas, vous installez habituellement quelque chose comme ceci:

- Créer une entrée DNS, par exemple

myapp.example.com

et spécifiez-le à l'adresse IP du cluster ZXTM

- Configurer l'application d'écoute du serveur

myapp.example.com

- Créer un serveur virtuel dans un cluster ZXTM, qui utilise IP Circulation

- Créer une nouvelle piscine dans un cluster ZXTM Et ajouter

testserver.co.uk:61061

pour que

- Attribuer un nouveau pool créé par le serveur virtuel

Ensuite, vous pouvez accéder à votre application via

myapp.example.com

.

Vous pouvez toujours accéder à l'application directement sur les nœuds internes. (Par exemple, à des fins de surveillance), Mais en fonction de la fonctionnement de l'application, vous devrez peut-être configurer le titre pour cela. Host.

Pour répondre aux questions, connectez-vous ou registre