एक वीपीएन के बिना टीएलएस के माध्यम से सभी वेब ट्रैफ़िक को पुनर्निर्देशित करें


10

मान्यताओं:

सर्वर:

  • मेरे पास एक डेबियन निचोड़ सर्वर है, जो सार्वजनिक इंटरनेट पर स्थिर है, एक स्थिर IPv4 पते के साथ।
  • सर्वर पर सॉफ्टवेयर को संशोधित करने के लिए मेरे पास अप्रतिबंधित पहुंच है।
  • सर्वर मनमानी बंदरगाहों पर सुन सकता है, फ़ायरवॉल नियमों को पुन: कॉन्फ़िगर कर सकता है, मूल रूप से सर्वर पर क्या करना है, इस पर कोई प्रतिबंध नहीं है।

ग्राहक:

  • मैं फ़ायरफ़ॉक्स, जावा प्रोग्राम, .NET प्रोग्राम और कुछ मूल निष्पादनयोग्य चला सकता हूं जिनके लिए मेरे स्थानीय सिस्टम (बिना किसी व्यवस्थापक अधिकार के एक लॉक-डाउन विंडोज डेस्कटॉप) पर व्यवस्थापक पहुंच की आवश्यकता नहीं है ।
  • मैं फ़ायरफ़ॉक्स में Addons स्थापित कर सकते हैं।
  • मैं लूपबैक ( localhost) इंटरफेस पर किसी भी पोर्ट पर सुन सकता हूं । तो, उपर्युक्त कार्यक्रम एक स्थानीय बंदरगाह से जुड़ सकते हैं और एक प्रॉक्सी के माध्यम से जाने के बिना, मैं / ओ को मनमाना नेटवर्क प्रदर्शन कर सकते हैं।
  • सभी सार्वजनिक इंटरनेट का उपयोग प्रतिबंधात्मक HTTP प्रॉक्सी के माध्यम से किया जाता है जो कई साइटों को अवरुद्ध करता है, और सावधानीपूर्वक निरीक्षण करता है। पोर्ट 80 पर, यह विशेष रूप से HTTP (कोई टीएलएस / एसएसएल) की अनुमति नहीं देता है। पोर्ट 443 पर, यह CONNECTSSL / TLS को दूरस्थ होस्टों के लिए अनुमति देता है जो डोमेन नाम / आईपी पते द्वारा ब्लॉक नहीं किए जाते हैं।
  • प्रतिबंधात्मक HTTP प्रॉक्सी टीएलएस कनेक्शन के गहरे पैकेट निरीक्षण का प्रदर्शन नहीं करता है जो प्रॉक्सी के माध्यम से अनुमति दी जाती है, और यह उन कनेक्शनों पर मध्य हमलों में मैन का प्रदर्शन नहीं करता है
  • उपर्युक्त सर्वर जिस तक मेरी पहुंच है, वह प्रॉक्सी द्वारा ब्लॉक नहीं किया गया है।

लक्ष्य:

मैं एसएसएल / टीएलएस के ऊपर, उपरोक्त सर्वर के माध्यम से फ़ायरफ़ॉक्स द्वारा उत्सर्जित सभी HTTP और HTTPS अनुरोधों को रूट करना चाहता हूं ।

"लक्ष्य" के बारे में अन्य नोट:

  • यहां तक ​​कि अगर एंडपॉइंट साइट (उदाहरण के लिए http://superuser.com) , एसएसएल / टीएलएस का उपयोग अपने सर्वर पर नहीं कर रही है, मैं अभी भी अपने क्लाइंट से एसएसएल / टीएलएस का उपयोग अपने सर्वर पर करना चाहता हूं , और मेरे सर्वर ने HTTP अनुरोध किया है - चाहे एन्क्रिप्ट किया गया हो या नहीं - - मेरी इच्छित जगह पर।
  • मुझे परवाह नहीं है अगर मेरा सर्वर एसएसएल ट्रैफ़िक को "स्पष्ट" में देख रहा है। दूसरे शब्दों में, मुझे अपने स्थानीय क्लाइंट से दूरस्थ एंड-टू-एंड एसएसएल एन्क्रिप्शन की आवश्यकता नहीं है, अगर रिमोट सर्वर को एक्सेस किया जा रहा है, तो रिमोट सर्वर पर सभी तरह से https://google.com। दूसरे शब्दों में, मैं भरोसा सर्वर मेरे डेटा गोपनीय रखने के लिए।
  • मैं कोई भी सॉफ़्टवेयर या फ़ायरफ़ॉक्स एडोन स्थापित करने के लिए तैयार हूं, जिसे व्यवस्थापक अधिकारों की आवश्यकता नहीं है और 32-बिट विंडोज 7 पर चल सकता है।
  • ओपन सोर्स सॉफ्टवेयर को मालिकाना पसंद किया जाता है, और लाइसेंस शुल्क की आवश्यकता वाले सॉफ़्टवेयर पर फ्रीवेयर को प्राथमिकता दी जाती है।
  • मौजूदा सॉफ़्टवेयर को नए सॉफ़्टवेयर को कोड करने के लिए पसंद किया जाता है, हालांकि मैं कोड लिखने के लिए तैयार हूं अगर यह एकमात्र तरीका है।

मैं एक ऐसे "समाधान" के बारे में बता रहा हूँ जो वर्णन करता है:

  • क्लाइंट को किस सॉफ्टवेयर की आवश्यकता होगी? यदि कोई विशिष्ट सॉफ़्टवेयर पैकेज है जिसके बारे में आप जानते हैं, तो उसे नाम दें; अन्यथा, वर्णन करें कि क्लाइंट सॉफ़्टवेयर को क्या करना होगा
  • सर्वर पर कौन से सॉफ्टवेयर की आवश्यकता होगी? यदि कोई विशिष्ट सॉफ़्टवेयर पैकेज है जिसके बारे में आप जानते हैं, तो उसे नाम दें; अन्यथा, वर्णन करें कि सर्वर सॉफ़्टवेयर को क्या करना होगा
  • यदि आपने ऊपर विशिष्ट सॉफ़्टवेयर पैकेज का नाम दिया है, तो वर्णन करें कि मेरे लक्ष्य को पूरा करने के लिए इसे स्थापित करने के लिए कौन से कॉन्फ़िगरेशन पैरामीटर आवश्यक होंगे।
  • किसी कारण से आप मानते हैं कि यह है संभव नहीं , का वर्णन क्यों

चीजें जो मैंने कोशिश की हैं वे काम नहीं करते

  • squidअपने सर्वर पर स्थापित , मैंने अपने सर्वर पर स्वयं का एक मानक HTTP प्रॉक्सी स्थापित करने का प्रयास किया। यह काम नहीं किया, क्योंकि जब मैं नियमित HTTP पर फ़ायरफ़ॉक्स में वेबसाइटों का अनुरोध करता हूं , तो फ़ायरफ़ॉक्स नियमित HTTP पर भी मेरे सर्वर तक पहुंचने की कोशिश करता है! यह स्वीकार्य नहीं है, क्योंकि मेरे स्थानीय नेटवर्क पर प्रॉक्सी मेरे क्लाइंट और सर्वर के बीच नियमित रूप से HTTP ट्रैफ़िक का निरीक्षण और / या ब्लॉक कर सकता है।
  • वीपीएन काम नहीं करते हैं , टीएलएस पर ओपनवीपीएन भी पोर्ट 443 पर नहीं सुनते हैं, क्योंकि मेरे पास tunनेटवर्क एडेप्टर स्थापित करने के लिए स्थानीय कंप्यूटर पर अनुमतियाँ नहीं हैं, जो लेयर 3 राउटिंग कर सकता है, और न ही मैं किसी भी प्रकार की लेयर 2 रूटिंग कर सकता हूं (जैसे tap)। संक्षेप में: मुझे OpenVPN को स्थापित करने के लिए व्यवस्थापक अधिकारों की आवश्यकता होगी, और यहां तक ​​कि अगर मेरे पास उन व्यवस्थापक अधिकारों को अस्थायी रूप से है, तो कंपनी को कोई भी बहुत प्रसन्न नहीं होगा यदि वे इसे स्थापित करते हैं। एक जावा या .NET प्रोग्राम बहुत कम ध्यान देने योग्य है, खासकर जब यह एड / रिमूव प्रोग्राम्स में स्थापित नहीं होता है और इसमें कोई कर्नेल ड्राइवर घटक नहीं होता है जैसे OpenVPN करता है।

क्या आप मोजे की कोशिश करते हैं? आप इसे अपने सर्वर में पोर्ट 443 पर परिभाषित कर सकते हैं।
राखियान

क्या आप इस लेख में वर्णित समाधान का उपयोग कर सकते हैं: गरीब आदमी का HTTP वीपीएन ? ध्यान दें कि HTTPTunnel का लिंक गलत है।
harrymc

1
डेलिगेट.ओआरजी मदद की हो सकती है।
अर्जन

@Ashian नहीं, SOCKS काम नहीं करेगा, जब तक कि इसे TLS में न लपेटा जाए। SOCKS एक HTTP आधारित प्रोटोकॉल नहीं है, इसलिए जब यह आंतरिक प्रॉक्सी को हिट करता है, तो इसे ब्लॉक कर दिया जाएगा। और अगर मैं इसे टीएलएस के माध्यम से चलाने में सक्षम था, तो मैं शायद एक अलग प्रोटोकॉल का उपयोग करूंगा। मेरी पहली समस्या टीएलएस सुरंग को इस तरह से स्थापित करना है कि फ़ायरफ़ॉक्स इसका इस्तेमाल कर सके। मैंने अभी भी ऐसा करने का स्पष्टीकरण नहीं देखा है।
अलक्विक्सोटिक

@harrymc: प्रश्न शीर्षक टीएलएस के माध्यम से कहता है । HTTP सुरंग HTTP पर IP पैकेट को रूट करता है , जो अनएन्क्रिप्टेड है और टीएलएस का उपयोग नहीं करता है । लेख स्वयं कहता है कि कनेक्शन एन्क्रिप्टेड नहीं है। कोई तरीका नहीं है कि मेरे प्रॉक्सी के माध्यम से जाने देंगे। इसके अलावा, socatविंडोज क्लाइंट बॉक्स पर मेरे पास या प्रशासनिक विशेषाधिकार नहीं हैं ।
एलक्विक्सोटिक

जवाबों:


5

मैं यह समझ गया। : D यह समाधान मेरी सभी आवश्यकताओं को पूरा करता है और मेरे सभी लक्ष्यों को पूरी तरह से पूरा करता है। प्रदर्शन बहुत बुरा नहीं है, या तो, इसे प्राप्त करने के लिए आवश्यक अप्रत्यक्ष स्तर पर विचार करना।

सामान्य दृष्टिकोण इस प्रकार है:

  1. स्थानीय प्रमाणपत्र प्राधिकरण (CA) सेट करें, और RSA "सर्वर कुंजी" और "क्लाइंट कुंजी" उत्पन्न करें (मैंने 256-बिट एन्क्रिप्शन का उपयोग किया था)। इसके लिए, मैंने Easy-RSA संस्करण 3.0.0-rc2 का उपयोग किया।

  2. "डेबियन बॉक्स" (सार्वजनिक इंटरनेट पर सर्वर) पर किसी भी दलदल वाले मानक प्रॉक्सी को चलाएं, यह सुनिश्चित करें कि यह केवल लोकलहोस्ट पर ही सुने (इसे सार्वजनिक इंटरनेट पर उजागर नहीं किया जाना चाहिए)। अपने उद्देश्यों के लिए मैंने इस्तेमाल किया Privoxy, लेकिन Squidसाथ ही साथ काम भी किया होगा। चूंकि यह केवल स्थानीय होस्ट पर सुन रहा है, प्रमाणीकरण (जब तक वहाँ प्रक्रियाओं अपने बॉक्स पर चल रहा है कि आप पर विश्वास नहीं करते हैं, ऐसी स्थिति में, आवश्यक नहीं है उफ़ ...)

  3. स्टुनेल डाउनलोड करें और इसे क्लाइंट और सर्वर दोनों पर इंस्टॉल करें। ऐसा करने की प्रक्रिया ओएस-विशिष्ट होने जा रही है; मेरे मामले में, मैंने विंडोज के लिए स्रोत (व्यामोह ...) से स्टनलाइन संकलित करने का चयन किया, जो कि एक विस्तृत प्रक्रिया थी जो मैं यहां विस्तार करूंगा। सर्वर की तरफ, यह पैकेज मैनेजर में उपलब्ध था :)

  4. Stunnel का विन्यास पहले काफी चुनौतीपूर्ण था, लेकिन यह जितना लगता है उससे कहीं अधिक सरल है! मूल रूप से, सर्वर पर, आपको नीचे दिए गए "सर्वर के stunnel.conf" जैसा कुछ चाहिए। क्लाइंट पर, आपको नीचे दिए गए "क्लाइंट के stunnel.conf" की तरह कुछ चाहिए।

  5. Privoxy प्रारंभ करें; सर्वर पर स्टनलाइन शुरू करें, इसे कॉन्फ़िगर फ़ाइल की ओर इशारा करते हुए; क्लाइंट पर स्टनलाइन शुरू करें, इसे कॉन्फ़िगर फ़ाइल की ओर इशारा करते हुए। वहाँ वास्तव में कुछ भी नहीं है कि Privoxy के विन्यास के बारे में विशेष; डिफ़ॉल्ट मेरे लिए ठीक था।

  6. फ़ायरफ़ॉक्स में, क्लाइंट साइड पर आपकी पसंद का ब्राउज़र, HTTP और HTTPS प्रॉक्सी को उसी तरह सेट करें जैसा कि आपके क्लाइंट के स्टनलाइन पर सुन रहे पोर्ट के लिए है - शायद लोकलहोस्ट की तरह कुछ: 8080।

मुझे शायद ध्यान देना चाहिए कि यदि आपके स्थानीय नेटवर्क के प्रॉक्सी किसी तरह के प्रमाणीकरण की मांग करते हैं, तो आपको या तो आपके लिए प्रमाणित करने के लिए स्टनलाइन प्राप्त करना होगा, या फिर किसी अन्य स्थानीय अवरोधक प्रॉक्सी का उपयोग करें और उन्हें एक साथ श्रृंखला दें - फ़ायरफ़ॉक्स जैसे कुछ -> stunnel - स्थानीय प्रामाणिक प्रॉक्सी -> LAN प्रॉक्सी / गेटवे -> इंटरनेट -> आपके सर्वर का स्टनलाइन -> प्राइवेटॉक्सी।

यह बहुत नकल है, लेकिन यह काम करता है!

;This is the *client's* stunnel.conf.
[https]
accept = localhost:9020
connect = your.lan.proxy:80
client = yes
protocol = connect
;protocolHost should be the same as the "accept" for the server
protocolHost = 1.2.3.4:443
;Same CAfile, different cert and key pair
CAfile = ca.crt
cert = client.crt
key = client.key
;VERY IMPORTANT!!! Make sure it's really your server and not a MITM attempt by your local network by making sure that the certificate authority "ca.crt" really signed the server's cert
verify = 2
;More performance tweaks...
sessionCachetimeout = 600
sessionCacheSize = 200
TIMEOUTidle = 600

;This is the *server's* stunnel.conf.
[https]
;1.2.3.4 is a publicly-routable, static IP address that can be connected to by your box that's under the firewall
accept = 1.2.3.4:443
;localhost:8118 is an example of where your local forwarding HTTP(S) proxy might reside.
connect = localhost:8118
CAfile = ca.crt
cert = server.crt
key = server.key
;VERY IMPORTANT!!! Without this, anyone in the world can use your public stunnel port as an open proxy!
verify = 2
;Set some timeouts higher for performance reasons
sessionCacheTimeout = 600
sessionCacheSize = 200
TIMEOUTidle = 600

एक बार जब सब कुछ कॉन्फ़िगर किया जाता है, तो अंतिम परिणाम कुछ इस तरह दिखता है:

  1. आपका वेब ब्राउज़र localhost:9020(stunnel) से जोड़ता है और इसे एक प्रॉक्सी की तरह मानता है जो HTTP और / या HTTPS कनेक्शन को स्वीकार कर सकता है।
  2. एक बार जब स्टनलाइन को आपके ब्राउज़र से कनेक्शन मिल जाता है, तो यह आपके फ़ायरवॉल के प्रॉक्सी / गेटवे के माध्यम से, आपके दूरस्थ सर्वर के साथ TLS सत्र स्थापित करने के लिए पहुँचता है। इस बिंदु पर, आपका क्लाइंट आपके सर्वर के PKI प्रमाणपत्र की पुष्टि करता है, और इसके विपरीत।
  3. एक बार जब आपके दूरस्थ सर्वर के साथ टीएलएस सत्र स्थापित हो जाता है, तो स्टनलाइन आपके ब्राउज़र से आने वाले डेटा, जैसे HTTP अनुरोध या एसएसएल सुरंग अनुरोध, स्थानीय प्रॉक्सी के माध्यम से और सीधे आपके सर्वर से गुजरता है। यह चैनल एन्क्रिप्ट किया गया है, इसलिए आपका स्थानीय नेटवर्क यह नहीं बता सकता है कि डेटा में क्या है, वे केवल ट्रैफ़िक विश्लेषण करके अनुमान लगा सकते हैं।
  4. एक बार जब आपके सर्वर परstunnel चल रही आवृत्ति डेटा प्राप्त करना शुरू कर देती है, तो यह उदाहरण के लिए एक कनेक्शन खोलता है , जो कि आपका HTTP (S) प्रॉक्सी सर्वर, मेरे मामले में प्रिविओक्सी, सुन रहा होगा।localhost:8118
  5. प्रिविक्सी तब एक सामान्य फॉरवर्डिंग HTTP प्रॉक्सी सर्वर की तरह काम करता है, और सर्वर के आईएसपी के माध्यम से सार्वजनिक इंटरनेट पर आपके अनुरोधों को आगे बढ़ाता है।

इसमें शामिल सॉकेट और बफ़र्स की मात्रा इस पद्धति को बहुत अधिक ओवरहेड बनाती है, खासकर यदि आप प्रॉक्सी के माध्यम से एक एसएसएल कनेक्शन का उपयोग कर रहे हैं, लेकिन इसका यह फायदा है कि आपके स्थानीय नेटवर्क को यह जानने का कोई तरीका नहीं है कि आप एसएसएल पर किन साइटों पर जा रहे हैं। मेरा मतलब है, यह जानता है कि आप अपने सर्वर पर जा रहे हैं, लेकिन इससे अलग, यह नहीं पता है कि आप जीमेल या सुपरयूजर या जो भी यात्रा कर रहे हैं। और आपके स्थानीय प्रवेश द्वार के पास आपको छानने या अवरुद्ध करने का कोई तरीका नहीं है।


2

मैंने अपने स्थानीय मशीन पर इस सेटअप की कोशिश की है, और मैं आश्वस्त कर सकता हूं कि "प्रतिबंधात्मक प्रॉक्सी" को एक मिलेगा CONNECT DEBIAN_IP:443 HTTP/1.1, लेकिन यह कोई प्रमाण पत्र नहीं देखेगा, इसलिए मुझे यकीन नहीं है कि यह काम करेगा।

के मान करते हैं: अपने डेबियन है Apacheया Squidप्रॉक्सी करने के लिए और एक SSH सर्वर। आपके क्लाइंट पीसी पर, आपको जरूरत है putty, जो एक प्रोग्राम है जिसे चलाने के लिए व्यवस्थापक विशेषाधिकारों की आवश्यकता नहीं है, स्थापना की आवश्यकता नहीं है और एक पेनड्राइव से चला सकते हैं।

पहला आपका डेबियन:

आपकी SSH बनाओ पोर्ट पर सुनने 443के लिए, बस जोड़ने (या अपने वर्तमान बंदरगाह की जगह) एक Port 443पर /etc/ssh/sshd_configहै और यह भी टीसीपी अग्रेषण अनुमति देते हैं (जोड़ने AllowTcpForwarding yesहै कि फाइल पर)

प्रॉक्सी करने के लिए अपने स्क्वीड या अपाचे को कॉन्फ़िगर करें। जैसा कि यह एक SSH सुरंग के माध्यम से उपयोग किया जा रहा है, इसे केवल लूपबैक इंटरफ़ेस पर सुनना होगा। यदि आप एक अपाचे का उपयोग करते हैं:

Listen 127.0.0.1:8080
ProxyRequests On
<Proxy *>
  Order deny,allow
</Proxy>

सर्वर ने किया, अपने ग्राहक को कॉन्फ़िगर करें पीसी:

पोटीन पर, अपने डेबियन के सार्वजनिक आईपी को पोर्ट के रूप में Hostऔर कॉन्फ़िगर करें 443। सुनिश्चित करें कि SSHअभी भी चयनित है। Connection -> Proxyसेटिंग्स में बदलें , HTTPअपनी "प्रतिबंधात्मक प्रॉक्सी" सेटिंग्स का चयन करें और भरें। Connectionसेटिंग्स में बदलें और एक रखने के लिए 30- 60। में बदलें Connection -> SSH -> Tunnels। पर source portstablish 8080, और पर Destination, localhost:8080Localचयनित छोड़ें और दबाएँ Add। आप कुछ इस तरह से ऊपर अंतरिक्ष में देखते हैं L8080 locahost:8080Sessionसेटिंग्स में वापस बदलें , पहली पंक्ति पर एक नाम लिखें Saved sessionsऔर इन सभी थकाऊ सेटिंग्स को बचाने के लिए निम्नलिखित दिनों में कनेक्शन को पुनर्स्थापित करने में मदद करें।

अब आप Openअपने डेबियन से कनेक्शन की कोशिश कर सकते हैं। यदि आप उपयोगकर्ता को संकेत देते हैं, तो हम इसे समाप्त करने से बस एक कदम दूर हैं। अगर नहीं ... तो हमें दूसरा रास्ता खोजना होगा।

अब, फ़ायरफ़ॉक्स पर, अपने प्रॉक्सी के रूप localhostमें पोर्ट पर सेट 8080करें।


दुर्भाग्य से, यह काम नहीं करेगा, क्योंकि एसएसएच का प्रोटोकॉल एसएसएल / टीएलएस पर आधारित नहीं है। जब मेरे क्लाइंट पक्ष पर प्रतिबंधात्मक प्रॉक्सी पोर्ट 443 के माध्यम से जाने वाले कनेक्शन का एक सूँघता है, तो यह तुरंत पता चल जाता है कि यह टीएलएस सॉकेट नहीं है, और इसे छोड़ देता है। दी, मैं इसे टीएलएस में लपेट सकता हूं , लेकिन यह आपके उत्तर का वर्णन नहीं करता है।
Allquixotic

मैंने एक HTTP प्रॉक्सी (BURP) के साथ एक परीक्षण किया और काम किया, इसलिए यह कोशिश के लायक था। टीएलएस पर रैपिंग एसएसएच और इसे चालू रखने से मुश्किल हो सकती है, हालांकि ...
NuTTyX

टीएलएस पर एसएसएच अनावश्यक अप्रत्यक्ष है। यदि आपके पास पहले से ही TLS सॉकेट चल रहा है, तो आपको वास्तव में SSH की आवश्यकता नहीं है। नीचे मेरा जवाब देखें। (नोट: मुझे इस उत्तर के बारे में अभी कुछ समय पहले तक पता नहीं था, इसलिए ऐसा नहीं है कि मैंने आपके उत्तर पर रोक लगा दी और फिर समाधान पोस्ट कर दिया। मैंने लगभग 25 मिनट पहले ही इसका पता लगा लिया था।)
allquixotic

खुशी है कि आपने इसे हल कर लिया
NuTTyX

1

आप अपने सर्वर पर एक प्रॉक्सी स्थापित करने के साथ आधे रास्ते पर हैं। सर्वर पर अन्य आधा एसएसएल है, और क्लाइंट पर एक स्थानीय प्रॉक्सी जो आपके एसएसएल-सक्षम HTTP प्रॉक्सी से कनेक्ट करने के लिए पोटीन का उपयोग कर रहा है, और फ़ायरफ़ॉक्स को प्रॉक्सी से सब कुछ 127.0.0.1 पर सेट करें।

मैंने सिर्फ एक पोटीन सेटअप के लिए एक त्वरित Google किया और यह पाया: https://mariobrandt.de/archives/technik/ssh-tunnel-bypassing-transparent-proxy-use-apache70/


निष्पक्ष होने के लिए, वह अपने पद के साथ बहुत अधिक विस्तार में चला गया। वोट के लिए धन्यवाद, यद्यपि।
जो

@krowe कहीं भी मेरे जवाब में इसे "अपाचे" या "PuTTY" नहीं कहता है।
एलक्विवोटिक

नहीं, मुझे परेशान नहीं करता है कि आपने इस उत्तर को बदल दिया है! मैंने आपकी टिप्पणी की यह कहते हुए व्याख्या की कि मैं किसी तरह उनके उत्तर को छोड़ रहा था या इसे बंद कर रहा था, जब मैं वास्तव में इस उत्तर से बहुत लाभ नहीं उठा रहा था, जब मैं समाधान खोज रहा था। पूर्वव्यापी में, मेरे द्वारा पोस्ट किए गए उत्तर के लिए ब्लॉग एक ठीक विकल्प प्रतीत होता है , हालांकि मुझे यकीन नहीं है कि यह प्रदर्शन, विशेषताओं आदि में कैसे भिन्न होगा (बेहतर हो सकता है या बदतर हो सकता है)।
एलक्विवोटिक

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