मेरे पास 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 में से एक है , लेकिन मैं गलत डोमेन पर जा रहा हूं।
ब्राउज़र कैश को साफ़ कर दिया गया है, सर्वर को फिर से शुरू किया गया है, आदि।