Onion-Location طريقة سهلة للإعلان عن موقع onion للمستخدمين. يمكنك إما تكوين خادم ويب لإظهار رأس Onion-Location أو إضافة سمة تعريف HTML في موقع الويب.
لكي يكون العنوان صالحًا ، يجب استيفاء الشروط التالية:
- يجب أن تكون قيمة Onion-Location عنوان URL صالحًا مع بروتوكول http: أو https: واسم مضيف .onion.
- يجب تقديم صفحة الويب التي تحدد عنوان Onion-Location عبر HTTPS.
- يجب ألا تكون صفحة الويب التي تحدد عنوان Onion-Location عبارة عن موقع onion.
في هذه الصفحة ، تعتمد أوامر إدارة خادم الويب على أنظمة تشغيل تشبه دبيان وقد تختلف عن الأنظمة الأخرى. تحقق من خادم الويب ووثائق نظام التشغيل.
اباتشي
لتكوين هذا الرأس في Apache 2.2 أو أعلى ، ستحتاج إلى تمكين وحدتي headers
و Rewrite
وتحرير ملف Virtual Host لموقع الويب.
الخطوة 1. مكّن العناوين وأعد كتابة الوحدات وأعد تحميل Apache2
$ sudo a2enmod headers rewrite
$ sudo systemctl reload apache2
إذا تلقيت رسالة خطأ ، فقد حدث خطأ ما ولا يمكنك المتابعة حتى تكتشف سبب عدم نجاح ذلك.
الخطوة 2. أضف رأس Onion-Location إلى ملف تكوين Virtual Host الخاص بك
مجموعة الرأس Onion-Location "http: //your-onion-address.onion٪ {REQUEST_URI} s"
حيث يكون your-onion-address.onion
هو عنوان خدمة onion الذي تريد إعادة توجيهه و {REQUEST_URI}
هو مكون المسار لعنوان URI المطلوب ، مثل "/index.html".
مثال على المضيف الافتراضي:
<VirtualHost *:443>
اسم الخادم <your-website.tld>
جذر الوثيقة / المسار / إلى / htdocs
مجموعة الرأس Onion-Location "http: //your-onion-address.onion٪ {REQUEST_URI} s"
SSLEngine on
ملف شهادة SSLC "/path/to/www.example.com.cert"
SSLCertificateKeyFile "/path/to/www.example.com.key"
</VirtualHost>
الخطوة 3. إعادة تحميل اباتشي
أعد تحميل خدمة اباتشي 2 ، حتى تسري تغييرات التكوين:
$ sudo systemctl reload apache2
إذا تلقيت رسالة خطأ ، فقد حدث خطأ ما ولا يمكنك المتابعة حتى تكتشف سبب عدم نجاح ذلك.
الخطوة 4. اختبار Onion-Location الخاص بك
لاختبار ما إذا كان Onion-Location يعمل ، قم بإحضار رؤوس HTTP الخاصة بموقع الويب ، على سبيل المثال:
$ wget --server-response --spider your-website.tld
ابحث عن إدخال onion-location
وعنوان خدمة onion.
أو افتح موقع الويب في متصفح Tor وستظهر حبة أرجوانية في شريط العناوين.
Nginx
لتكوين رأس Onion-Location ، يجب على مشغل الخدمة أولاً تكوين خدمة Onion.
الخطوة 1. أنشئ خدمة Onion عن طريق تحديد ما يلي في torrc
:
HiddenServiceDir /var/lib/tor/hs-my-website/
HiddenServiceVersion 3
HiddenServicePort 80 unix:/var/run/tor-hs-my-website.sock
الخطوة 2. تحرير ملف تكوين موقع الويب
في / etc / nginx / conf.d /<your-website> .conf
أضف رأس Onion-Location وعنوان خدمة onion.
فمثلا:
add_header Onion-Location http://<your-onion-address>.onion$request_uri;
يجب أن يبدو ملف التكوين باستخدام Onion-Location كما يلي:
الخادم {
استمع 80;
استمع [::]:80;
اسم الخادم <your-website.tld>;
موقع / {
return 301 https://$host$request_uri;
}
}
الخادم {
listen 443 ssl http2;
listen [::]:443 ssl http2;
اسم الخادم <your-website.tld>;
# يديرها Certbot - https://certbot.eff.org/
ssl_certificate /etc/letsencrypt/live/<hostname>/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/<hostname>/privkey.pem;
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header Onion-Location http://<your-onion-address>.onion$request_uri;
# يديرها Certbot
تضمن/etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
access_log /var/log/nginx/<hostname>-access.log;
index index.html;
root /path/to/htdocs;
موقع / {
try_files $uri $uri/ =404;
}
}
الخادم {
listen unix:/var/run/tor-hs-my-website.sock;
اسم الخادم <your-onion-address>.onion;
access_log /var/log/nginx/hs-my-website.log;
index index.html;
root /path/to/htdocs;
}
الخطوة 3. اختبر تكوين موقع الويب
$ sudo nginx -t
يجب أن يؤكد خادم الويب أن البنية الجديدة تعمل:
nginx: صيغة ملف التكوين /etc/nginx/nginx.conf على ما يرام
nginx: نجح اختبار ملف التكوين /etc/nginx/nginx.conf
الخطوة 4. أعد تشغيل nginx
$ sudo nginx -s reload
إذا تلقيت رسالة خطأ ، فقد حدث خطأ ما ولا يمكنك المتابعة حتى تكتشف سبب عدم نجاح ذلك.
الخطوة 5. اختبار Onion-Location الخاص بك
لاختبار ما إذا كان Onion-Location يعمل ، قم بإحضار رؤوس HTTP الخاصة بموقع الويب ، على سبيل المثال:
$ wget --server-response --spider your-website.tld
ابحث عن إدخال onion-location
وعنوان خدمة onion.
أو افتح موقع الويب في متصفح Tor وستظهر حبة أرجوانية في شريط العناوين.
العلبة
ميزات العلبة HTTPS تلقائي بشكل افتراضي ، لذا فهي توفر شهادة TLS الخاصة بك وتهتم بإعادة توجيه HTTP إلى HTTPS نيابة عنك. إذا كنت تستخدم Caddy 2 ، لتضمين رأس Onion-Location ، أضف الإعلان التالي في Caddyfile الخاص بك:
header Onion-Location http://<your-onion-address>.onion{path}
إذا كنت تدير موقعًا ثابتًا ولديك عنوان onion في متغير بيئة $ TOR_HOSTNAME
، فسيبدو ملف Caddyfile الخاص بك كما يلي:
موقع الويب الخاص بك.tld
header Onion-Location http://{$TOR_HOSTNAME}{path}
root * /var/www
file_server
جربه: اختبره باستخدام:
$ wget --server-response --spider your-website.tld
ابحث عن إدخال onion-location
وعنوان خدمة onion.
أو افتح موقع الويب في متصفح Tor وستظهر حبة أرجوانية في شريط العناوين.
استخدام سمة HTML <meta>
يتضمن السلوك المماثل لـ Onion-Location خيار تعريفه على أنه سمة HTML <meta>
http-equiv.
يمكن استخدام هذا من قبل مواقع الويب التي تفضل (أو تحتاج) لتعريف Onion-Location عن طريق تعديل محتوى HTML المقدم بدلاً من إضافة رأس HTTP جديد.
سيكون رأس Onion-Location مكافئًا لـ<meta http-equiv="onion-location" content="http://<your-onion-service-address> ".onion" />
مضافًا في عنصر رأس HTML لصفحة الويب. استبدل<your-onion-service-address.onion>
بخدمة onion التي تريد إعادة توجيهها .
معلومات اكثر
اقرأ مواصفات موقع Onion.