PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Webserver (OwnCloud) auf Raspbere:ry Pi nach außen öffnen



nirolo
20.10.13, 16:50
Hallo,

mein Problem in Kürze:
Ich will meinen Webserver mit OwnCloud über das Internet erreichbar machen. Im LAN funktioniert es. Online noch nicht.

Ich habe einen nginx Webserver mit OwnCloud auf einem Raspberry Pi aufgesetzt. Auf dem Pi läuft das aktuelle Raspbian (Raspbian GNU/Linux 7 (wheezy)). Ich habe Iptables mit


* filter
:INPUT DROP [23:2584]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1161:105847]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -s 192.168.11.6/24 -j ACCEPT
-A INPUT -s 192.168.11.1/32 -i tcp -p tcp -m tcp --dport 22 -j DROP
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT


konfiguriert. In meinem Router (Buffalo - WHR-G300N - auf 192.168.11.1) sind die Ports 80 und 443 an den Pi (192.168.11.6) weitergeleitet. Ein kleiner Check hier: http://www.gwebtools.com/port-scanner sagt mir auch, dass diese beiden Ports offen sind (werden als geschlossen angezeigt, wenn ich die Weiterleitungsregeln im Router herausnehme).
Ich bin noch nicht wirklich vertraut mit Iptables und vermute, dass ich da noch etwas falsch mache, habe aber keine wirkliche Idee mehr im Moment. Wie oben beschrieben, funktioniert der Zugriff im LAN, aber nicht übers Internet. Die Nginx config sieht so aus:


server {
listen 80;
server_name 192.168.11.6;
return 301 https://$server_name$request_uri; # enforce https
}

server {
listen 443 ssl;
server_name 192.168.11.6;
ssl_certificate /etc/nginx/cert.pem;
ssl_certificate_key /etc/nginx/cert.key;
root /var/www/owncloud;


client_max_body_size 10G; # set max upload size
fastcgi_buffers 64 4K;

rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;

index index.php;
error_page 403 /core/templates/403.php;
error_page 404 /core/templates/404.php;

location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}

location ~ ^/(data|config|\.ht|db_structure\.xml|README) {
deny all;
}

location / {
# The following 2 rules are only needed with webfinger
rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;

rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;

try_files $uri $uri/ index.php;
}

location ~ ^(.+?\.php)(/.*)?$ {
try_files $1 = 404;

include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$1;
fastcgi_param PATH_INFO $2;
fastcgi_param HTTPS on;
fastcgi_pass 127.0.0.1:9000;
# Or use unix-socket with 'fastcgi_pass unix:/var/run/php5-fpm.sock;'
}

# Optional: set long EXPIRES header on static assets
location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
expires 30d;
# Optional: Don't log access to assets
access_log off;
}

}



Edit:

Wenn ich von einem Rechner im Lan per Browser auf die Internetadresse meines Routers zugreife, öffnet sich der Loginbereich für den Router. Von außerhalb (per Smartphone) öffnet sich gar keine Seite.

kreol
20.10.13, 17:00
Auf die kurze Frage nur eine kurze Antwort: Das geht

Für weitere Info braucht man Info.

Kreol

nirolo
20.10.13, 17:05
Auf die kurze Frage nur eine kurze Antwort: Das geht

Für weitere Info braucht man Info.

Kreol

Danke für die schnelle Reaktion. Mein Touchpad reagiert manchmal anders, als ich das so will :) Der Post ist jetzt vollständig

marce
21.10.13, 07:31
(1) Wozu IP-Tables? Wenn Du das nicht intern für irgendwas verwenden willst - für die Portweiterleitung von Deinem Router auf den Pi brauchst Du das nicht.

... und da eh nur ded. Ports weitergeleitet werden - bringt es auch keinen Sicherheitszugewinn.

(2) eine weiterleitung von :80 auf :443 _und die interne IP des Pi_ ist eher - doof.
Hat aber keine Auswirkung, solange Du von extern nur per https zugreifen willst.

nirolo
20.12.13, 11:25
@marce:

danke für deine Hinweise.
Es funktioniert nun. Ich weiß allerdings nicht genau warum...