# Offener Port am Server



## Generic1 (5. Jul 2011)

Hallo,

ich möchte meine Web- App hosten (hab aber noch keinen Provider). Ich mache in meiner Businesslogik einen Port auf, damit sich Client(s) darauf verbinden können.
Meine Frage wäre jetzt in Punkto Sicherheit, erlauben das die Hoster überhaupt und wenn ja, wie kann ich diesen Port/dieses Loch absichern?
lg


----------



## Generic1 (6. Jul 2011)

OK, das ist also offensichtlich nicht üblich, dass man in einer WebApplikation einen Port aufmacht, schauts aus, oder?
lg


----------



## tuxedo (6. Jul 2011)

So siehts aus ...

web == port 80 != "Ich mache in meiner Businesslogik [irgend] einen [anderen] Port auf, damit sich Client(s) darauf verbinden können."

Ergo: Eher unüblich.

Mit einem (v)Root-Server kannst du tun und lassen was du willst. Da hast du auch eine größere Anbieterauswahl als wenn du nur einen WebApp-Hoster suchst.


----------



## Generic1 (6. Jul 2011)

tuxedo hat gesagt.:


> Mit einem (v)Root-Server kannst du tun und lassen was du willst. Da hast du auch eine größere Anbieterauswahl als wenn du nur einen WebApp-Hoster suchst.



Also da versteh ich eher Bahnhof, ich hab jetzt nachgelesen: vRoot server ist z.B.: ein DNS Server, ich suche ja einen Server wo ich meine Applikation hosten kann!?


----------



## tuxedo (6. Jul 2011)

vRoot heisst virtueller Root-Server. Und ein Rootserver ist typischerweise eine Linux-Kiste mit root-Zugang.
Da kannst du installieren was du willst.


----------



## brauner1990 (7. Jul 2011)

Deine App soll eine Server seitige sein, eine weitere eine Client seitige, soweit korrekt?

Wenn ja, mit wie vielen Usern rechnest du? Hast du die unterschiedlichen OS auch getestet auf ihr Verhalten bei der Kommunikation (nur weil es Java ist, heißt es nicht das es sich zu 100% überall gleich verhält)? Wie sieht es aus mit benötigten Port Freigaben auf Client Seite?


----------



## Generic1 (7. Jul 2011)

Also es ist so, dass ich nur einen bis maximal 2 Clients habe welche Daten an den Server (meine Web-Appl) senden -> also die Freigabe des Ports am Client ist kein Problem, dass ist eine Desktop Anwendung auf meinem Rechner, mir gehts nur darum, eine TCP Verbindung auf meinen Server (meine Web- Appl) aufzubauen, welcher dann ja in irgendeinem Rechenzentrum ist und von einem Hoster verwaltet wird.
lg


----------



## tuxedo (7. Jul 2011)

Die Frage ist nach wie vor: Wenn das eine WebApplication ist, warum spricht die dann nicht auf Port 80 HTTP, wieso musst du eigene Serverports haben um eine WebApp zu betreiben? Und wie bereits erwähnt bist du mit einem (v)Root-Server völlig frei was die Port-Nutzung betrifft. setzt halt vorraus dass du dich mit dem Server-OS (meist Linux) auskennst und deinen ApplicationServer oder Container selbst einrichten kannst.

- Alex


----------



## TheDarkRose (7. Jul 2011)

@TO ich glaube du hast da grundlegen was flasch verstanden was die Java EE Arichtektur betrifft.


----------



## Generic1 (7. Jul 2011)

K.a. 

Also ich will Daten von einem GSM- Empfangsgerät in die Datenbank meiner WebAppl speichern über einen Client-> Dafür kann ich port 80 verwenden? Port 80 wird ja dazu verwendet am Browser das HTML anzuzeigen, welches der Server nach einem Request dem Browser/Client sendet -> da kann ich ja nicht auch noch diesen Port 80 verwenden um meine Daten von einem Client in die DB über port 80 zu speichern!???
lg


----------



## Marcinek (7. Jul 2011)

Ich glaube das ist eine selbstgeschriebene Anwendung, die weder wirklich jee noch webservice ist.

Warum kein v-Server? 

Wenn du ein Tomcat hast, wo deine Anwendung theorisch laufen könnte, wenn sie den eine "war" oder "ear" ist, dann hättest du durch den Provider einen Port an dem du deine Anwendung zugreifen kannst.

Gleiches auch mit JBoss. Aber finde mal einen Hoster, der das hostet -.-

Ich denke du kommst nicht wirilch an einem vServer vorbei. Oder bei zwei Clients mit gsm daten: Homeserver mit dyndns.


----------



## FArt (8. Jul 2011)

Generic1 hat gesagt.:


> K.a.
> 
> Also ich will Daten von einem GSM- Empfangsgerät in die Datenbank meiner WebAppl speichern über einen Client-> Dafür kann ich port 80 verwenden? Port 80 wird ja dazu verwendet am Browser das HTML anzuzeigen, welches der Server nach einem Request dem Browser/Client sendet -> da kann ich ja nicht auch noch diesen Port 80 verwenden um meine Daten von einem Client in die DB über port 80 zu speichern!???
> lg



Sorry, aber das zeigt, dass du Sachen machst, von denen du vorerst die Finger lassen solltest, da du keine Ahnung von Enterprisetechniken und -architketuren hast.
Ich kann nur meine letzte Anmerkung zu einerm deiner Postings hier wiederholen: jede Woche treibst du eine andere Enterprise-Sau durch das Forendorf und jedes mal hast du keine bis wenig Ahnung davon, was du eigentlich machst.
Konzentriere dich mal auf einen Bereich, aber dafür so richtig. Dir fehlen absolute Grundlagen!

Port 80 ist der Standardport für HTTP. HTTP ist das Protokoll, mit dem Webserver HTML Seiten ausliefern und  Browser somit diese anzeigen. Aber über HTTP kann man auch RPC realisieren, z.B. mit SOAP. Das ist dann ein klassischer Webservice, z.B. als Servlet realisiert. Dieser Service benötigt als Client keinen Browser, sondern einen Webservice-Client.


----------



## Generic1 (8. Jul 2011)

Also ich hab mich doch entschlossen, etwas dazu zu schreiben.
Das ich überhaupt keine Ahnung von der Enterprise Entwicklung hätte kann ich jetzt nicht sagen aber ich gebe zu, ich habe jetzt schon öfter Fragen zu Themen gestellt, welche nicht unbedingt notwendig gewesen wären - aber ich sehe ein Forum als passives Medium, wenn jemand eine Frage nicht lesen wiell, kann es ja diese einfach ignorieren - und es gibt auch andere, die eher einfache/grundlegende Fragen stellen.

Zum Thema: eine Enterprise- Architektur kann 3-4 Layer haben: UserInterface, Applikation, Domain und Infrastruktur- Layer -> Und im Infrastruktur Layer können auch TCP verbindungen aufgebaut werden -> was spricht da dagegen -> das man aus sicherheitsgründen nicht jeden Port verwenden kann ist mir klar und deshalb ist diese Frage entstanden -> das diese Frage dich so erregt hab ich mir nicht gedacht da ich das als eher ganz normale Frage betrachte -> ich gebe zu ich habe extern noch nie eine Web Appl gehostet. 
Soweit meine Erklärung dazu.


----------



## FArt (8. Jul 2011)

Generic1 hat gesagt.:


> Also ich hab mich doch entschlossen, etwas dazu zu schreiben.
> Das ich überhaupt keine Ahnung von der Enterprise Entwicklung hätte kann ich jetzt nicht sagen aber ich gebe zu, ich habe jetzt schon öfter Fragen zu Themen gestellt, welche nicht unbedingt notwendig gewesen wären - aber ich sehe ein Forum als passives Medium, wenn jemand eine Frage nicht lesen wiell, kann es ja diese einfach ignorieren - und es gibt auch andere, die eher einfache/grundlegende Fragen stellen.
> 
> Zum Thema: eine Enterprise- Architektur kann 3-4 Layer haben: UserInterface, Applikation, Domain und Infrastruktur- Layer -> Und im Infrastruktur Layer können auch TCP verbindungen aufgebaut werden -> was spricht da dagegen -> das man aus sicherheitsgründen nicht jeden Port verwenden kann ist mir klar und deshalb ist diese Frage entstanden -> das diese Frage dich so erregt hab ich mir nicht gedacht da ich das als eher ganz normale Frage betrachte -> ich gebe zu ich habe extern noch nie eine Web Appl gehostet.
> Soweit meine Erklärung dazu.



Ich kann deine "zu Guttenberg" Haltung verstehen.

Wer mal deine Historie hier im Forum durchsieht, wird verstehen was ich meine. Über 800 Postings, fast ausschließlich Fragen und Rückfragen. Die Themen gehen durch die ganze EE Welt, keine API die du noch nicht angefasst hast. Dabei offenbarst du allerdings starke Lücken im absoluten Basiswissen und in den Zusammenhängen. Beispiel von oben: was ist ein Protokoll und ein Webservice?
Quizfrage: warum kann/soll/darf ein Webservice keine weiteren Ports mehr öffnen? Warum hat das nichts damit zu tun, dass verschiedene Hoster nur bestimmte Ports freischalten?
Das sind Sachen, die man wissen sollte ohne jemals eine Webservice geschrieben zu haben. Zumindest wenn man sich jetzt damit befassen möchte.

Ich will dich nicht blöde anmachen, aber ich finde so ein Verhalten in einem Forum schlichtweg ... suboptimal.

Dass man hier beliebige Fragen einstellen kann und wem es nicht passt, der kann sie ja ignorieren, ist nicht meine Haltung zu diesem Thema. Das mag für dich die beste Lösung sein, aber nicht für die Community. Solche Fragen (oft ohne sinnvolle Antworten) müllen das Forum zu und ein User, der sich erst mal selber versucht schlau zu machen, wird nach kurzer Zeit die Suchfunktion nicht mehr benutzen, weil die Treffer keine Hilfe bringen.

Auch Grundlagenfragen dürfen gestellt werden. Gerne sogar. Noch besser: man diskutiert diese, denn in der Regel gibt es keine eindeutige Lösung oder Haltung. Dafür ist ein Forum da.
Das ist aber keine Entschuldigung dafür, dass man vorher seine Hausaufgaben nicht machen muss. Grundlagenwissen muss man sich vorwiegend erarbeiten, nicht erfragen. Das ist deine Bringschuld, wenn du hier Hilfe erhalten möchtest. Das Forum ist nicht dafür da, deine persönlichen Fragen zu beantworten.

P.S.: Wenn ich erregt bin, reagiere ich anders. In der Regel rede ich dann viel weniger... das kann jetzt jeder auffassen, wie er es gerne auffassen möchte...
... und auf meine Antwort direkt auf das Thema bist du gar nicht eingegangen. Wieso eigentlich? Wahrscheinlich warst du zu erregt ;-)


----------



## Generic1 (8. Jul 2011)

>> Quizfrage: warum kann/soll/darf ein Webservice keine weiteren Ports mehr öffnen? Warum hat das nichts damit zu tun, dass verschiedene Hoster nur bestimmte Ports freischalten?
Das sind Sachen, die man wissen sollte ohne jemals eine Webservice geschrieben zu haben. Zumindest wenn man sich jetzt damit befassen möchte.

Ob du da nicht was verwechselst. Eine Firewall kann man sowohl protokolle filtern lassen als auch ports sperren/freigeben lassen usw. und auch die Richtung (in, out) kan festgelegt werden. Das ist aber meiner Meinung nach nicht Basiswissen eines Programmierers -> da handelt es sich um Netzwerktechnik/Routerckonfiguration usw. 

Und genau das war meine Frage, Stellen Hoster offene Ports zur Verfügung bzw. schalten sie Ports nach bedarf frei. k.a. was an meiner Frage so falsch wäre.

Zum Verhalten in diesem Forum: Ich bin einer der wenigen, die auf "Danke" klicken, wenn mir geholfen wurde und auch einer der wenigen, die den Thread schließen, wenn eine Frage beantwortet wurde
-> wenn das mehr machen würden wäre das ein Kriterium für die Suche.


----------



## FArt (8. Jul 2011)

Die Geschichte mit den Ports geht absolut am Thema vorbei: ein Webservice (oder Web-App wie du es beschrieben hast) verwaltet (öffnet) keine Ports. Das grundsätzlich falsche ist somit, dass deine Webapplikation einen Port öffnen möchte.
Das hat nichts mit Netzwerkinfrastruktur zu tun, und nichts mit Hostern.


----------



## Generic1 (8. Jul 2011)

Vielleicht bin ich jetzt auch schwer von begriff aber wie würdest du es machen, einen WebService am Server- Programm zur verfügung stellen und mit dem Client auf dem WebService zugreifen (Methoden mittels dem SOAP Protokoll am WS aufrufen) ?


----------



## FArt (8. Jul 2011)

Generic1 hat gesagt.:


> Vielleicht bin ich jetzt auch schwer von begriff aber wie würdest du es machen, einen WebService am Server- Programm zur verfügung stellen und mit dem Client auf dem WebService zugreifen (Methoden mittels dem SOAP Protokoll am WS aufrufen) ?



Zum Beispiel, wie ich eben oben schon angeregt habe. Vorteil: den Port für HTTP haben alle Hoster offen.


----------

