سؤال

أنا أستخدم كمبيوتر محمول (Ubuntu) مع شبكة تستخدم وكيل HTTP (يُسمح باتصالات http فقط).
عندما أستخدم svn up لعنوان url مثل 'http://.....'، يكون كل شيء رائعًا (يعمل مستودع google chrome بشكل مثالي)، ولكن الآن أحتاج إلى svn up من الخادم باستخدام 'svn://.... وأرى أن الاتصال مرفوض.
لقد قمت بتعيين تكوين الوكيل في /etc/subversion/servers ولكنه لا يساعد.
هل لدى أحد رأي/حل؟

هل كانت مفيدة؟

المحلول

في /etc/subversion/servers أنت تقوم بالإعداد http-proxy-host, ، الذي لا علاقة له به svn:// الذي يتصل بخادم مختلف يعمل عادةً على المنفذ 3690 الذي يبدأ بواسطة svnserve يأمر.

إذا كان لديك حق الوصول إلى الخادم، يمكنك الإعداد svn+ssh:// مثل وأوضح هنا.

تحديث:يمكنك أيضًا تجربة استخدام connect-tunnel, ، والذي يستخدم خادم وكيل HTTPS الخاص بك لتوصيل الاتصالات:

connect-tunnel -P proxy.company.com:8080 -T 10234:svn.example.com:3690

ثم سوف تستخدم

svn checkout svn://localhost:10234/path/to/trunk

نصائح أخرى

حسنًا، يجب أن يكون هذا سهلاً حقًا:

$ sudo vi /etc/subversion/servers

تحرير الملف:

[Global]
http-proxy-host=my.proxy.com
http-proxy-port=3128

احفظه، اركض svn مرة أخرى وسوف تعمل.

إذا كان بإمكانك توصيل SSH إليه، فيمكنك استخدام خادم SVN مُعاد توجيهه عبر منفذ SSH.

يستخدم SSHs -L ( أو -R لقد نسيت أن الأمر يحيرني دائمًا) لإنشاء نفق ssh بهذه الطريقة

127.0.0.1:3690 يتصل بالفعل بجهاز التحكم عن بعد: 3690 عبر نفق SSH، ومن ثم يمكنك استخدامه عبر

svn co svn://127.0.0.1/....

حسنًا، هذا الموضوع قديم إلى حد ما، ولكن بما أنني وجدته على Google ولدي حل، فقد يكون هذا مثيرًا للاهتمام لشخص ما:

في الأساس (بالطبع) هذا غير ممكن على كل وكيل http ولكنه يعمل على الوكلاء الذين يسمحون باتصال http على المنفذ 3690.يتم استخدام هذه الطريقة بواسطة وكلاء http على المنفذ 443 لتوفير طريقة لاتصالات https الآمنة.إذا قام المسؤول لديك بتكوين الوكيل لفتح المنفذ 3690 لاتصال http، فيمكنك إعداد جهازك المحلي لإنشاء نفق عبر الوكيل.

كنت فقط في حاجة إلى التحقق من بعض الملفات من svn.openwrt.org داخل شبكة شركاتنا.الحل السهل لإنشاء نفق هو إضافة السطر التالي إلى /etc/hosts

127.0.0.1 svn.openwrt.org

بعد ذلك، يمكنك استخدام socat لإنشاء نفق TCP إلى منفذ محلي:

احيانا صحيح؛قم بإجراء socat tcp-listen:3690 proxy:proxy.at.your.company:svn.openwrt.org:3690;منتهي

يجب عليك تنفيذ الأمر كجذر.يقوم بفتح المنفذ المحلي 3690 وعند الاتصال يقوم بإنشاء نفق إلى svn.openwrt.org على نفس المنفذ.

ما عليك سوى استبدال عناوين المنفذ والخادم وفقًا لاحتياجاتك الخاصة.

عند استخدام svn:// URI، فإنه يستخدم المنفذ 3690 وربما لن يستخدم وكيل http

svn:// لا يتحدث http، لذلك لا يوجد شيء يمكن أن يفعله وكيل http.

هل هناك أي سبب لعدم عمل http؟هل فكرت في https؟إذا كنت في حاجة إليها حقًا، فربما يتعين عليك فتح المنفذ 3690 في جدار الحماية الخاص بك.

إذا كنت تستخدم تثبيت SVN القياسي، فسيعمل اتصال svn:// على منفذ tcpip رقم 3690، ولذا فمن المستحيل الاتصال إلا إذا قمت بتغيير تكوين الشبكة (قلت إن حركة مرور Http مسموح بها فقط) أو قمت بتثبيت وحدة http و Apache على الخادم الذي يستضيف خادم SVN الخاص بك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top