2017-09-27 3 views
0

Ci-dessous l'extrait de configuration proxy inverse apache qui utilise "ProxyPass" et "ProxyPassReverse"proxy Apache redirige de HTTPS à HTTP

Listen 1.2.3.4:80 
<VirtualHost 1.2.3.4:80> 
    ProxyPreserveHost On 
    SSLProxyEngine On 
    ProxyPass /artifactory https://xxxx.xxxx.xxx/artifactory 
    ProxyPassReverse /artifactory https://xxxx.xxxx.xxx/artifactory 

Listen 1.2.3.4:443 
<VirtualHost 1.2.3.4:443> 
    SSLProxyEngine On 
    ProxyPreserveHost On 
    ProxyPass /artifactory https://xxxx.xxxx.xxx/artifactory 
    ProxyPassReverse /artifactory https://xxxx.xxxx.xxx/artifactory 
</VirtualHost> 

quand je lance ci-dessous commande wget, il réoriente en quelque sorte http:

#wget --no-check-certificate "https://xxxx.xxxx.xxx/artifactory/" 
--2017-09-27 06:25:50-- 
https://xxxx.xxxx.xxx/artifactory/ 
Resolving xxxx.xxxx.xxx... 1.2.3.4 
Connecting to xxxx.xxxx.xxx|1.2.3.4|:443... connected. 
WARNING: certificate common name “xxxx.xxxx.xxx” doesn't match requested 
host name “xxxx.xxxx.xxx”. 
HTTP request sent, awaiting response... 302 Found 
Location: http://xxxx.xxxx.xxx/artifactory/webapp/ [following] 
--2017-09-27 06:25:51-- 
http://xxxx.xxxx.xxx/artifactory/webapp/ 
Connecting to xxxx.xxxx.xxx|1.2.3.4|:80... connected. 
HTTP request sent, awaiting response... 200 OK 
Length: 1449 (1.4K) [text/html] 
Saving to: “index.html.18” 

Si je lance la commande wget avec "/ Artifactory/webapp/#/home" il fonctionne sur https:

wget --no-check-certificate "https://xxxx.xxxx.xxx/artifactory/webapp/#/home" 
--2017-09-27 06:12:48- 
https://xxxx.xxxx.xxx/artifactory/webapp/ 
Resolving xxxx.xxxx.xxx... 1.2.3.4 
Connecting to xxxx.xxxx.xxx|1.2.3.4|:443... connected. 
WARNING: certificate common name “xxxx.xxxx.xxx” doesn't 
match requested host name “xxxx.xxxx.xxx”. 
HTTP request sent, awaiting response... 200 OK 
Length: 1449 (1.4K) [text/html] 
Saving to: “index.html.17” 

2017-09-27 06:12:49 (73.1 MB/s) - “index.html.17” saved [1449/1449] 

Je n'ai pas défini de redirection n'importe où dans le fichier de configuration proxy.

Quelqu'un pourrait-il suggérer quelle pourrait être la raison de ce comportement? et comment puis-je éviter de le rediriger vers HTTP?

Répondre

0

Il semble que vous ayez configuré votre proxy inverse pour écouter l'URL se terminant par '/ artifactory'. Pensez à ajouter les éléments suivants:

RewriteRule ^/$      /artifactory/webapp/ [R,L] 
RewriteRule ^/artifactory(/)?$  /artifactory/webapp/ [R,L] 
RewriteRule ^/artifactory/webapp$ /artifactory/webapp/ [R,L] 

En outre, vous utilisez Artifactory OSS ou Pro? Si Pro que vous avez la possibilité de générer l'extrait de configuration Apache directement à partir d'Artifactory.

+0

Merci Ariel. Est-ce que ces règles de réécriture doivent être ajoutées aux deux sections (80 et 443) ..? Et puisque cet apache utilisé par d'autres services, d'abord réécrire l'impact de la ligne d'autres services qui sont définis dans les sections 80/443. J'ai l'édition d'entreprise d'Artifactory. Je ne peux pas utiliser la config de proxy générée par snippet en raison de trop de services dépendant de ce proxy apache et je ne veux pas casser/impacter d'autres services en ajoutant une config générée par snippet. Les proxies exécutant Apache 2.2 sont l'autre raison de ne pas ajouter de config snippet tel quel. 2.2 pourrait ne pas supporter certains paramètres. – Pushpraj