Onion-მდებარეობა გზაა თქვენი onion-საიტის გასაცნობად მომხმარებლებისთვის. თქვენ ან უნდა გამართოთ ვებსერვერი, რომ გამოჩნდეს Onion-მდებარეობის თავსართი, ან უნდა დაამატოთ HTML მაკავშირებელი თვისებები, ვებსაიტზე.
თავსართი, რომ იყოს მართებული, შემდეგ მოთხოვნებს უნდა აკმაყოფილებდეს:
- Onion-მდებარეობის მნიშვნელობა უნდა იყოს მართებული URL-ბმული http: ან https: ოქმითა და .onion-მისამართით.
- ვებგვერდი, რომლითაც განისაზღვრება Onion-მდებარეობის თავსართი, უზრუნველყოფილი უნდა იყოს HTTPS-ით.
- ვებგვერდი, რომლითაც განისაზღვრება Onion-მდებარეობის თავსართი, არ უნდა წარმოადგენდეს Onion-საიტს.
ამ გვერდზე მოცემული ბრძანებები ვებსერვერის მართვისთვის, ეყრდნობა Debian-ის მსგავს საოპერაციო სისტემებს და შესაძლოა განსხვავდებოდეს სხვა სისტემების ბრძანებებისგან. გადახედეთ თქვენი ვებსერვერისა და საოპერაციო სისტემის მასალებს.
Apache
ამ თავსართის გასამართად Apache 2.2 და ზედა ვერსიებში, საჭიროა ჩართოთ headers
და rewrite
მოდულები, ამასთან ჩაასწოროთ ვებსაიტის Virtual Host ფაილი.
ნაბიჯი 1. ჩართეთ თავსართები, გადაწერეთ მოდულები და გადატვირთეთ Apache2
$ sudo a2enmod headers rewrite
$ sudo systemctl reload apache2
თუ შეცდომა ამოაგდო, რაღაც არასწორად წარიმართა და იქამდე ვერ განაგრძობთ, სანამ არ გაარკვევთ რა არ მუშაობს.
ნაბიჯი 2. დაამატეთ Onion-მდებარეობის თავსართი თქვენი ვირტუალური ჰოსტის გამართვის ფაილში
Header set Onion-Location "http://your-onion-address.onion%{REQUEST_URI}s"
სადაც your-onion-address.onion
არის Onion-მომსახურების მისამართი, რომელიც გსურთ გადამისამართდეს და {REQUEST_URI}
არის მიმართულების აღმნიშვნელი მოთხოვნილი URI-ს, როგორიცაა "/index.html".
ვირტუალური ჰოსტის მაგალითი:
<VirtualHost *:443>
ServerName <your-website.tld>
DocumentRoot /path/to/htdocs
Header set Onion-Location "http://your-onion-address.onion%{REQUEST_URI}s"
SSLEngine on
SSLCertificateFile "/path/to/www.example.com.cert"
SSLCertificateKeyFile "/path/to/www.example.com.key"
</VirtualHost>
ნაბიჯი 3. გადატვირთეთ Apache
ხელახლა გაუშვით apache2-მომსახურება, რომ გამართული ცვლილებები აისახოს:
$ sudo systemctl reload apache2
თუ შეცდომა ამოაგდო, რაღაც არასწორად წარიმართა და იქამდე ვერ განაგრძობთ, სანამ არ გაარკვევთ რა არ მუშაობს.
ნაბიჯი 4. გამოცადეთ თქვენი Onion-მდებარეობა
შესამოწმებლად, მუშაობს თუ არა Onion-მდებარეობა, გამოითხოვეთ ვებსაიტის HTTP-თავსართები, მაგალითად:
$ wget --server-response --spider your-website.tld
მონახეთ onion-location
ჩანაწერი და Onion-მომსახურების მისამართი.
ან გახსენით ვებსაიტი Tor-ბრაუზერი და იისფერი ნიშანი გამოჩნდება მისამართების ველში.
Nginx
Onion-მდებარეობის თავსართის გასამართად, მომსახურების მმართველმა, ჯერ Onion-მომსახურება უნდა გამართოს.
ნაბიჯი 1. შექმენით Onion-მომსახურება შემდეგი პარამეტრების გამართვით ფაილში torrc
:
HiddenServiceDir /var/lib/tor/hs-my-website/
HiddenServiceVersion 3
HiddenServicePort 80 unix:/var/run/tor-hs-my-website.sock
Step 2. ჩაასწორეთ გამართვის ფაილი
ფაილში /etc/nginx/conf.d/<your-website>.conf
დაამატეთ Onion-მომსახურების თავსართი და Onion-მომსახურების მისამართი.
მაგალითად:
add_header Onion-Location http://<your-onion-address>.onion$request_uri;
გასამართი ფაილი Onion-მდებარეობისთვის უნდა გამოიყურებოდეს ასე:
server {
listen 80;
listen [::]:80;
server_name <your-website.tld>;
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name <your-website.tld>;
# managed by 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;
# managed by Certbot
include /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;
location / {
try_files $uri $uri/ =404;
}
}
server {
listen unix:/var/run/tor-hs-my-website.sock;
server_name <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: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
ნაბიჯი 4. ხეახლა გაუშვით nginx
$ sudo nginx -s reload
თუ შეცდომა ამოაგდო, რაღაც არასწორად წარიმართა და იქამდე ვერ განაგრძობთ, სანამ არ გაარკვევთ რა არ მუშაობს.
ნაბიჯი 5. გამოცადეთ თქვენი Onion-მდებარეობა
შესამოწმებლად, მუშაობს თუ არა Onion-მდებარეობა, გამოითხოვეთ ვებსაიტის HTTP-თავსართები, მაგალითად:
$ wget --server-response --spider your-website.tld
მონახეთ onion-location
ჩანაწერი და Onion-მომსახურების მისამართი.
ან გახსენით Tor-ბრაუზერი და იისფერი ნიშანი გამოჩნდება მისამართების ველში.
Caddy
Caddy-ის გააჩნია ავტომატური HTTPS ნაგულისხმევად, ანუ იგი უზრუნველყოფს თქვენს TLS-სერტიფიკატს და ზრუნავს HTTP-იდან HTTPS-სკენ გადამისამართებაზე. თუ გიყენიათ Caddy 2, რომ დაურთოთ Onion-მდებარეობის თავსართი, დაამატეთ შემდეგი განაცხადი Caddy-ფაილში:
header Onion-Location http://<your-onion-address>.onion{path}
თუ გაშვებული გაქვთ უცვლელი საიტი და მითითებული გაქვთ Onion-მისამართი $TOR_HOSTNAME
გარემოს ცვლადად, თქვენი Caddy-ფაილი უნდა გამოიყურებოდეს ასე:
your-website.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-მდებარეობისა, მოიცავს შესაძლებლობას განისაზღვროს HTML <meta>
http-equiv თვისების სახით.
ეს შეიძლება გამოიყენოს ვებსაიტებმა, რომლებიც ამჯობინებს (ან საჭიროებს) განსაზღვროს Onion-მდებარეობა მომსახურე HTML-შიგთავსის გადაკეთებით, ნაცვლად ახალი HTTP-თავსართის დამატებისა.
Onion-მდებარეობის თავსართი უნდა შეესაბამებოდეს <meta http-equiv="onion-location" content="http://<your-onion-service-address>.onion" />
მნიშვნელობას, დამატებულს, საიტის HTML-ის head-ელემენტში. ჩაანაცვლეთ <your-onion-service-address.onion>
Onion-მომსახურებით, რომლის გადამისამართებაც გსურთ.
დამატებით ინფორმაცია
გაეცანით Onion-მდებარეობის მახასიათებლებს.