Onion-Location ni njia rahisi ya kutangaza tovuti ya onion kwa watumiaji. Unaweza kusanidi seva ya tovuti ili kuonesha taarifa za Onion-Location au ongeza sifa za HTML <meta> katika tovuti.

Ili taarifa ziwe halali masharti yafuatayo yanapaswa kutimizwa:

  • Thamani ya Onion-Location lazima iwe halali yenye http: au mpangilio wa https: na jina la msimamizi a.onion.
  • Ukarasa wa tovuti unaofafanua taarifa za Onion-Location lazima kuhifadhiwe kupitia HTTPS.
  • Ukurasa wa tovuti unoafafanua taarifa za Onion-Location sio lazima kiwe kwenye tovuti ya onion.

Katika kurasa hii, maelezo ya kusimamia seva za tovuti zinatokana na mfumo wa utendaji kama wa Debian na unatofautiana na mifumo mingine. Angalia seva yako ya tovuti na nyaraka za mfumo wa uendeshaji.

Seva ya tovuti inayohifadhi anwani

ili kusanidi taarifa hizi katika Apache 2.2 au zaidi, utahitaji kuwezesha mifumo ya taarifa naandika tena na rekebisha faili lakufikirika liliopo katika tovuti.

Hatua ya 1 Wezesha taarifa na andika tena mfumo na upakie tena Apache2

 $ sudo a2enmod headers rewrite

 $ sudo systemctl reload apache2

Ukipata ujumbe wenye makosa, kuna kitu kimeenda vibaya na huwezi kuendelea hadi utambue kwanini haifanyi kazi.

Hatua ya 2 Ongeza taarifa za Onion-Location kwa usanidi wa faili lisilioonekana

Header set Onion-Location "http://your-onion-address.onion%{REQUEST_URI}s"

Ambapo your-onion-address.onion ni anwani ya Onion Service unayotaka kuelekeza kwingine na {REQUEST_URI} ni sehemu ya njia ya URI iliyoombwa, such as "/index.html".

Kwa mfano hifadhi ya kufikirika:

     <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>

Hatua ya 3 Pakia tena Apache

Pakia tena huduma za apache2, kwa hiyo mabadiliko yako ya usanidi yatatekeleza:

 $ sudo systemctl reload apache2 

Ukipata ujumbe wenye makosa, kuna kitu kimeenda vibaya na huwezi kuendelea hadi utambue kwanini haifanyi kazi.

Hatua ya 4 Jaribu Onion-Location yako

ili kupima kama Onion-Location inafanya kazi, chukua taarifa za HTTP katika tovuti, kwa mfano:

 $ wget --server-response --spider your-website.tld

Angalia ingizo la onion-location na anwani ya Onion Service. Au fungua tovuti katika Tor Browser na mstari wa zambarau utajitokeza katika sehemu ya kuandikia anwani.

Nginx

Kusanidi taarifa za Onion-Location, mtoa huduma anapaswa kusanidi kwanza Onion service.

Hatua ya 1 Unda Onion Service kwa kuweka yafuatayo kwenye torrc:

HiddenServiceDir /var/lib/tor/hs-my-website/
HiddenServiceVersion 3
HiddenServicePort 80 unix:/var/run/tor-hs-my-website.sock

Hatua ya 2 Hariri faili la tovuti lililosanidiwa

Katika /etc/nginx/conf.d/<your-website>.conf ongeza taarifa za Onion-Location na anwani za Onion Service. Kwa mfano:

    add_header Onion-Location http://<your-onion-address>.onion$request_uri;

Faili la usanidi wa Onion-Location linapaswa kuonekana hivi:

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;
}

Hatua 3 Jaribisha usanidi wa tovuti

 $ sudo nginx -t

Tovuti ya seva inapaswa kukubali kuwa sheria mpya zinazo tafsiri lugha ya kompyuta inafanya kazi:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Hatua ya 4 Anzisha upya nginx

 $ sudo nginx -s reload

Ukipata ujumbe wenye makosa, kuna kitu kimeenda vibaya na huwezi kuendelea hadi utambue kwanini haifanyi kazi.

Hatua ya 5 Jaribisha Onion-Location yako

ili kupima kama Onion-Location inafanya kazi, chukua taarifa za HTTP katika tovuti, kwa mfano:

 $ wget --server-response --spider your-website.tld

Angalia ingizo la onion-location na anwani ya Onion Service. Au fungua tovuti katika Tor Browser na mstari wa zambarau utajitokeza katika sehemu ya kuandikia anwani.

Mkebe unaohifadhi vitu vidogo

Vipengele vya mkebe otomatiki HTTPS kwa hali ya kawaida, hutoa cheti chako cha TLS na inashughulikia uelekezaji mpya wa HTTP-to-HTTPS kwa ajili yako. Ikiwa unatumia Caddy2, kujumuisha taarifa za Onion-Location, ongeza tamko linalofuata katika Caddyfile lako:

header Onion-Location http://<your-onion-address>.onion{path}

Ikiwa unatumia tovuti za kudumu na ina anwani ya onion katika mazingira yanayotofautiana $TOR_HOSTNAMEFaili lako ya Caddy litaonekana kama hivi:

your-website.tld

header Onion-Location http://{$TOR_HOSTNAME}{path}
root * /var/www
file_server

Testing it out:Test it out with:

 $ wget --server-response --spider your-website.tld

Angalia ingizo la onion-location na anwani ya Onion Service. Au, Fungua tovuti katika Tor Browser na mstari wa zambarau utatokea katika sehemu ya kuandikia anwani.

Kutumia HTML<meta>attribute

Tabia zinazofanana za Onion-Location inajumuisha chaguo ya kuifafanua kama sifa za HTML <meta> http-equiv. Hii inaweza kutumiwa na tovuti ambazo zinapendelea (au zinahitaji) Onion-Location kwa kurekebisha maudhui ya HTML yaliyotolewa badala ya kuongeza taarifa mpya za HTTP. Taarifa za Onion-Location zitakuwa sawa na <meta http-equiv="onion-location" content="http://<your-onion-service-address>.onion" />imeongezwa katika kipengele cha taarifa za HTML cha ukurasa ya tovuti. Badili <your-onion-service-address.onion> za Onion Service ambazo unataka kuzielekeza.

kikomo

HTML haiwezi kusoma URL iliyoombwa na kuiingiza kwa nguvu katika faili la http-equiv <meta> tag. Kwa sababu hii, wageni daima huelekezwa kwenye URL ya .onion iliyobainishwa kwenye kipande cha maudhui cha mega tag, bila kujali ni ukurasa gani mdogo waliomo.

Kwahiyo, ikiwa inawezekana, tunapendeza utumie njia mojawapo hapo juu.

Taarifa zaidi

Soma Onion-Location spec.