SSL प्रमाणपत्र बदलने के बाद मेरे पास 302 रीडायरेक्ट क्यों है?


0

मेरे पास Ubuntu सर्वर 14.04 के साथ एक VPS है और मैंने Apache2 द्वारा सेवा की गई विभिन्न साइटों के साथ GitLab स्थापित किया है। GitLab संस्करण ओमनीबस पैकेज 7.14.1 है।

मैंने HTTPS के साथ और परीक्षण के लिए एक स्व-हस्ताक्षरित प्रमाण पत्र के साथ GitLab को सफलतापूर्वक कॉन्फ़िगर किया था ( जैसा कि यह olddomain.com के साथ है )। मैंने एक वाइल्डकार्ड एसएसएल प्रमाणपत्र ( * .newdomain.io के लिए ) खरीदा और इसे अपाचे द्वारा परोसी गई अन्य वेबसाइटों के लिए स्थापित किया और वे पूरी तरह से काम करती हैं।

गिटलैब के लिए कहानी थोड़ी अलग है। मैंने gitlab.olddomain.com के सभी संदर्भों की खोज की और उन्हें gitlab.newdomain.io के लिए बदल दिया । तो फ़ाइल /etc/gitlab/gitlab.rbमें परिवर्तन है:

external_url 'https://gitlab.newdomain.io:2443' 

वह केवल सेटिंग बदल गया है, दूसरे को उनके डिफ़ॉल्ट मानों के साथ छोड़ दिया गया है।

अपाचे का विन्यास है:

<VirtualHost *:80>
    ServerName gitlab.newdomain.io
    Redirect / https://gitlab.newdomain.io/

    CustomLog /var/log/apache2/gitlab/access.log combined
    ErrorLog  /var/log/apache2/gitlab/error.log
</VirtualHost>

HTTPS के लिए विन्यास के साथ:

<VirtualHost *:443>
    ServerName gitlab.newdomain.io

    SSLProxyEngine On
    SSLProxyVerify none
    SSLProxyCheckPeerCN off
    SSLProxyCheckPeerName off
    SSLProxyCheckPeerExpire off

    SSLEngine On
    SSLCertificateFile /etc/ssl/certs/newdomain.io.crt
    SSLCertificateKeyFile /etc/ssl/private/newdomain.io.key

    ProxyRequests Off
    ProxyPreserveHost On
    ProxyRequests Off
    ProxyPreserveHost On
    ProxyPass / https://localhost:2443/
    ProxyPassReverse / https://localhost:2443/

    <Location />
            Order allow,deny
            Allow from all
    </Location>

    CustomLog /var/log/apache2/gitlab/access.log combined
    ErrorLog  /var/log/apache2/gitlab/error.log
</VirtualHost>

बदलावों के बाद मैंने gitlab-ctl reconfigureऔर भी gitlab-ctl restart। अपाचे के लिए, service apache2 reloadनिष्पादित किया गया है।

जब मैं Chrome की पर गौर डेवलपर टूल> नेटवर्क , मैं देख रहा हूँ अनुरोध यूआरएल को https://gitlab.newdomain.io , स्थिति कोड है 302 और स्थान है https://gitlab.olddomain.com । दिलचस्प बात है सर्वर: nginxरिमोट पते xxx.xxx.xxx.xxx:443 है, लेकिन पोर्ट सुन सेवा Apache2 माना जाता है।

netstatमैं उन दो लाइनों को देख रहा हूं:

tcp6  0  0 :::443          :::*          LISTEN      1849/apache2
tcp   0  0 0.0.0.0:2443    0.0.0.0:*     LISTEN      32493/nginx

Gitlab.olddomain.com और gitlab.newdomain.io के लिए दोनों DNS रिकॉर्ड एक ही मशीन की ओर इशारा कर रहे हैं। जब मैं ब्राउज़र में प्रमाण पत्र की जांच करता हूं, तो मेरे पास अच्छा प्रमाण पत्र, वाइल्डकार्ड newdomain.io में से एक है , लेकिन मैं गलत डोमेन पर जा रहा हूं।

ब्राउज़र कैश को साफ़ कर दिया गया है, सर्वर को फिर से शुरू किया गया है, आदि।


क्योंकि nginx रीडायरेक्ट भेज रहा है?
माइकल हैम्पटन

शायद यह एक नौसिखिया सवाल लग सकता है, लेकिन nginx एक रीडायरेक्ट क्यों भेज रहा है, क्या यह अपाचे को 443 पोर्ट का जवाब देना चाहिए? इस मशीन पर nginx को 2443 पोर्ट में कॉन्फ़िगर किया गया है, जैसा कि netstat कमांड दिखा रहा है।
कोहबर

अपने अपाचे कॉन्फ़िगरेशन पर एक नज़र डालें। यह स्पष्ट है कि निगनेक्स अनुरोध का जवाब क्यों दे रहा है।
माइकल हैम्पटन

वैसे यह ReverseProxy हाँ है, लेकिन सवाल यह है कि एक अनुप्रेषित क्यों है?
एल्बेड

मेरी मूल टिप्पणी पर वापस जाएं।
माइकल हैम्पटन

जवाबों:


0

आपके Gitlab कॉन्फ़िगरेशन के साथ एक समस्या है, मेरे पास पहले से ही था।

Gitlab के भीतर आपके पास "startpage" के लिए एक कॉन्फिगर है। यह वह पृष्ठ है, जिसे आप वर्तमान में साइन इन नहीं कर रहे हैं,
इसलिए https://gitlab.newdomain.io/users/sign_in पर लॉग इन करें और सेटिंग के तहत इस सेटिंग को व्यवस्थापक पैनल में बदलें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.