Domain auf richtigen Port "trimmen"

Keine Scheu, hier darf alles gefragt und diskutiert werden. Das ist das Forum für YaCy-Anfänger. Hier kann man 'wo muss man klicken' fragen und sich über Grundlagen zur Suchmaschinentechnik unterhalten.
Forumsregeln
Hier werden Fragen beantwortet und wir versuchen die Probleme von YaCy-Newbies zu klären. Bitte beantwortete Fragen im YaCy-Wiki http://wiki.yacy.de dokumentieren!

Domain auf richtigen Port "trimmen"

Beitragvon Palulukas » So Okt 23, 2016 6:09 pm

Hallo liebe YaCy-Community,

ich bin neu hier und seit heute mit dem ersten eigenen Peer dabei! :)

Jedoch habe ich ein Problem: Ich hätte gerne, dass wenn meine Domain suche.lukamb.de aufgerufen wird, meine Instanz von YaCy erscheint. Das tut sie bislang aber nur, wenn man den entsprechenden Port (8090) mit angibt, wobei der SSL Port (8443) lustigerweise zu meinem NAS führt.

Hier eine Übersicht über mein Netzwerk:
Ich habe zwei Geräte im Netz hängen: ein NAS und einen kleinen Server (virtualisiert mit Proxmox).
Auf dem NAS laufen zwei Domains: einmal die Domain, welche vom Hersteller selbst angeboten wird (myqnapcloud) und eine meiner Strato-Domains (finalstagegame.de), über welches ein Forum läuft.
Auf dem kleinen Server laufen zwei VMs: Auf der einen VM ein Teamspeak-Server und ein Minecraft-Server (beide über finalstagegame.de), auf der anderem VM läuft nur YaCy (soll über suche.lukamb.de laufen).
Als Router kommt eine Fritz.Box 7390 zum Einsatz. Die Domains werden mittels eines DynDNS-Dienstes mit der aktuellen IP-Adresse meines Routers versorgt. finalstagegame.de aktualisiert die Fritz.Box selbst, suche.lukamb.de aktualisiert der kleine Server selbst (mittels ddclient).
Portfreigaben sind für alle Dienste, die nach außen funktionieren sollen (NAS-Zugang, TS3, Minecraft, Yacy), gesetzt.



Nun hätte ich gerne, dass wenn man im Browser die Adresse: suche.lukamb.de eingibt, meine Suchinstanz auch erscheint. Derzeit muss ich dazu noch den Port anfügen, der SSL Port scheint falsch geroutet zu sein.

Habt ihr eine Idee, woran es liegen könnte? Falls Ihr noch weitere Angaben braucht, so lasst es mich bitte wissen.


Vielen Dank im voraus und viele Grüße:

Palulukas
Dateianhänge
Bildschirmfoto 2016-10-23 um 19.07.37.png
Bildschirmfoto 2016-10-23 um 19.07.37.png (166.12 KiB) 2402-mal betrachtet
Palulukas
 
Beiträge: 14
Registriert: So Okt 23, 2016 5:54 pm

Re: Domain auf richtigen Port "trimmen"

Beitragvon Praetor » Mi Okt 26, 2016 10:40 am

Hallo Palulukas,
das liegt daran, dass YaCy nicht den Standard-Port für http (= 80) nutzt, sondern einen separaten Port 8090. Du kannst in den Einstellungen den http-Port auf 80 ändern. Am Einfachsten nutzt Du hierfür das reconfigureYACY.sh -Skript im Startverzeichnis von YaCy.

Das ist natürlich nur dann sinnvoll, wenn der Port 80 noch nicht belegt ist, insbesondere also nicht durch einen Webserver. Läuft auf der Maschine auch ein Webserver, kannst Du das dort mit einem port forwarding lösen.
Praetor
 
Beiträge: 6
Registriert: So Jun 14, 2015 9:49 am
Wohnort: Bonn

Re: Domain auf richtigen Port "trimmen"

Beitragvon Palulukas » Mi Okt 26, 2016 12:05 pm

Hallo Praetor,

danke für deine Antwort. Nein, auf der YaCy-VM läuft kein (weiterer) Webserver.
Es sollte ja eigentlich relativ ungefährlich sein, den Port auf 80 anzugleichen, sehe ich das richtig?
Generell würde ich lieber auf SSL, also https setzen. Dazu muss ich den https-Port von 8843 auf 443 setzen, richtig?
Wie hast du oder andere Leute dieses Problem gelöst, sofern keine feste IP-Adresse vorliegt?

Es ist zwar nicht der Fall, aber könntest du mir erklären, wie ich mir das Port-Forwarding vorstellen soll? Wäre es ein Port-Forwarding innerhalb des Webservers auf der VM?


Freundliche Grüße:

Palulukas
Palulukas
 
Beiträge: 14
Registriert: So Okt 23, 2016 5:54 pm

Re: Domain auf richtigen Port "trimmen"

Beitragvon Praetor » Mi Okt 26, 2016 1:55 pm

Für https reicht eine Portweiterleitung auf 443 allein wahrscheinlich nicht aus, Du müsstest auch noch ein SSL-Zertifikat integrieren, sonst bekommen Deine Besucher immer nur Sicherheitswarnungen.

Bei unseren Seiten laufen stets auch Webserver, so das ein einfaches Verstellen des Ports nicht möglich ist, da die Ports 80 und 443 ja schon vom Webserver belegt sind. Daher müssen wir auf ein Port forwarding ausweichen. Wie genau das geschieht, unterscheidet sich etwas, je nachdem ob Du Apache oder Nginx verwendest.

Wir setzen auf unseren Seiten Nginx ein, hier nutzt Du am Besten einen separaten Serverblock für die Such-(Sub-)Domain. Für http (Port 80) sähe das so aus:
Code: Alles auswählen
server {
        listen       80;
        server_name  suche.deinedomain.de;
        location / {
            proxy_pass         http://127.0.0.1:8090/;
            proxy_redirect     off;

            proxy_set_header   Host         $host;
            proxy_set_header   X-Real-IP      $remote_addr;
            proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;

            client_max_body_size      10m;
            client_body_buffer_size   128k;

            proxy_connect_timeout   90;
            proxy_send_timeout      90;
            proxy_read_timeout      90;


Für https sieht das Ganze auf den ersten Blick etwas komplexer aus, ist aber auch nicht wirklich problematisch. Wir benutzen hier immer den folgenden Serverblock:

Code: Alles auswählen
server {
        listen               80;
        server_name            suche.deinedomain.de;
        # enforce https
        return               301 https://$server_name$request_uri;
        }

server {
        listen                443 ssl http2;
        server_name                   suche.deinedomain.de;

        keepalive_timeout         70;
        ssl_certificate            /etc/letsencrypt/live/suche.deinedomain.de/fullchain.pem;
        ssl_certificate_key           /etc/letsencrypt/live/suche.deinedomain.de/privkey.pem;
        ssl_trusted_certificate       /etc/letsencrypt/live/suche.deinedomain.de/chain.pem;

        ssl_stapling                     on;
        ssl_stapling_verify           on;
        ssl_session_cache         shared:SSL:20m;
        ssl_session_timeout           10m;
        ssl_protocols                    TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers                      EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
        ssl_prefer_server_ciphers    On;
   add_header                    Strict-Transport-Security "max-age=15768000; preload" always;
        add_header                    X-Content-Type-Options "nosniff" always;
#   add_header                    X-Frame-Options "SAMEORIGIN" always;
        add_header                    X-Xss-Protection "1";
#   add_header                    Content-Security-Policy "default-src 'self'";

        access_log                       /var/log/portale/access.log main;
        error_log                        /var/log/portale/error.log;

        location / {
            proxy_pass                  http://127.0.0.1:8090/;
            proxy_redirect              off;

            proxy_set_header         Host            $host;
            proxy_set_header         X-Real-IP         $remote_addr;
            proxy_set_header         X-Forwarded-For   $proxy_add_x_forwarded_for;
            client_max_body_size      10m;
            client_body_buffer_size   128k;

            proxy_connect_timeout   90;
            proxy_send_timeout             90;
            proxy_read_timeout             90;

            proxy_buffer_size              4k;
            proxy_buffers                  4 32k;
            proxy_busy_buffers_size     64k;
            proxy_temp_file_write_size   64k;
        }
}


Bei einem Apache-Webserver ist es genauso einfach, die Lösung habe ich in diesem Thread: http://forum.yacy-websuche.de/viewtopic.php?t=5902&p=33281#p33281 beschrieben (das allerdings ohne Gewähr, da wir seit längerem keinen Apache mehr im Einsatz haben).
Praetor
 
Beiträge: 6
Registriert: So Jun 14, 2015 9:49 am
Wohnort: Bonn

Re: Domain auf richtigen Port "trimmen"

Beitragvon Palulukas » Mi Okt 26, 2016 7:21 pm

Hallo Praetor,

danke für deine Erklärung!
Ich muss leider Fragen, wo sich das Startverzeichnis von Yacy unter Debian befindet. Ich finde zwar den Installationsordner, allerdings finde ich dort keinerlei shellskripte.


Liebe Grüße:

Palulukas
Palulukas
 
Beiträge: 14
Registriert: So Okt 23, 2016 5:54 pm


Zurück zu Hilfe für Einsteiger und Anwender

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast