Nous ne pouvons pas accéder aux Jenkins de n'importe où

3

Nous venons d'installer Jenkins sur notre serveur (Debian 7 Wheezy). Cela fonctionne sur le réseau local, mais pas sur le réseau externe. Nous cherchons mais nous ne trouvons aucune solution de contournement à ce problème.

Nous pouvons cingler notre serveur mais quand nous allons sur l'adresse de Jenkins cela ne fonctionne pas.

fische
la source
Avez-vous vérifié les paramètres de votre pare-feu?
Tomcat fonctionne-t-il sur le port 80 ou est-il géré par Apache?
David Levesque
Je pense que Jenkins a son propre conteneur? Non?
Fische
Cela dépend comment vous l'avez installé.
David Levesque

Réponses:

3

Probablement pour les raisons suivantes:

1) La configuration de votre serveur Web

Pour apache: autoriser de tous

Pour tomcat:

<Host name="localhost" appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">

devrait être

<Host name="www.example.com" appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">

2) Vos paramètres de pare-feu (port ouvert pour la connexion externe)

3) Jenkins Config

Tout d’abord, pour Debien, modifiez / etc / default / jenkins, ajoutez une ligne HTTP_HOST = adresse externe (par exemple, HTTP_HOST = www.example.com).

Ajoutez ensuite --httpListenAddress = $ HTTP_HOST à ​​votre JENKINS_ARGS (JENKINS_ARGS = "- webroot = / var / cache / jenkins / war --httpPort = $ HTTP_PORT --ajp13Port = $ AJP_PORT --httpListenAddress = $ HTTP_HOST")

Enfin, redémarrez vos jenkins

William LAM
la source
Nous avons un Redmine avec Apache déjà installé et cela fonctionne bien. Et avec la commande iptables -L, le résultat est le suivant: Chain INPUT (stratégie ACCEPT) destination cible optionnelle de la chaîne chaîne FORWARD (stratégie ACCEPT) destination cible de la source optionnelle Chain OUTPUT (stratégie ACCEPT) destination cible de la source optionnelle Ainsi, tous les ports sont normalement ouverts. . Non?
Jeudi
Essayez de désactiver votre pare-feu en: # /etc/init.d/iptables save # /etc/init.d/iptables stop Votre redmine est-elle accessible par un réseau externe? Est-ce que vos jenkins et redmine sont déployés sur le même serveur Web? Jenkins dispose par défaut de son propre serveur Web autonome fonctionnant sur le port 8080.
William LAM
Oui, la redmine est toujours accessible par le réseau externe. Redmine et Jenkins ne sont pas sur le même serveur (Apache et Tomcat). Je ne comprends vraiment pas. Y at-il quelque chose à changer dans la configuration du Jenkin?
Fische
Si je change le port de Jenkins à 80 (c'est-à-dire le port de Redmine) et j'arrête l'apache. Jenkins ne travaille pas aussi.
Fische
Que diriez-vous de la configuration de jenkins? sous / etc / default / jenkins JENKINS_ARGS = "- webroot = / var / run / jenkins / war --httpPort = $ HTTP_PORT --ajp13Port = $ AJP_PORT --httpListenAddress = $ HTTP_HOST" $ HTTP_HOST ne doit pas être localhost ou 127.0. 0,1
William LAM
0

a) Ouvrez un shell Bash (Git Bash sous Windows fera l'affaire) sur votre ordinateur à la maison (pas l'ordinateur Jenkins).

b) Effectuez un PORT EN AVANT via un TUNNEL SECURE SSH pour "mapper" le port 8080 de l'ordinateur Jenkins sur le port 8080 de votre ordinateur à la maison. La commande pour faire cela dans le shell Git Bash est:

ssh -L 127.0.0.1:8080:localhost:8080 [email protected] -i "C: \ PathToFolderContainingMySecretKey"

Ici, xx.yyy.zzz.ab est votre adresse Internet publique (par exemple, 62.187.151.9). Notez que le chemin après -i est le chemin sur votre ordinateur où vous avez stocké la clé privée qui correspond à la clé publique que vous avez utilisée sur l'ordinateur Jenkins.

c) Et maintenant, sur votre ordinateur à la maison peut se connecter comme ceci: http: // localhost: 8080

d) La première fois que vous configurez Jenkins, vous aurez besoin du mot de passe administrateur initial. Voici comment l'obtenir. Dans le shell Git Bash de l'ordinateur à la maison (rappelez-vous que vous avez déjà connecté via SSH à l'ordinateur Jenkins):

chat sudo / var / lib / jenkins / secrets / initialAdminPassword

Copiez-le et collez-le dans votre navigateur, et c'est parti!

Gary
la source