Philipp Hasenfratz: IIS Konfiguration; warum geht <? ?> nicht???

Halihallo Forumer

Bin mit einem neuen Computer ausgerüstet worden und versuche mich grad mit der XP/IIS Konfiguration...

hab grad mal ne ASP Seite zum testen gebastelt:
<html>
   <head></head>
   <body>
   <?
      Response.Write( "<h1>test</h1>" )
      Response.Write( "This text was dynamically created by ASP" )
   ?>
   </body>
</html>

Tjo, bei mir zeigt der Browser den ganzen Quelltext, die ASP Blöcke werden nicht interpretiert; wobei die extension natürlich .asp ist und alles richtig verknüpft ist...

und wenn ich

<html>
   <head></head>
   <body>
   <script language="VBScript" runat="server">
      Response.Write( "<h1>test</h1>" )
      Response.Write( "This text was dynamically created by ASP" )
   </script>
   </body>
</html>

habe, funktioniert es perfekt...

Weiss jemand, wo ich einen Fehler in der Konfig habe, bzw. wo man das einstellen kann oder so??? - Ich kann mir einfach nicht erklären, warum das so nicht funktioniert.

2. Frage:
   Mit OmniHTTPd und Apache hatte ich so ca. 20 Virtuelle Websites eingerichtet mit irgendeiner 127.0.0.xxx IP. Bei IIS geht das glaub ich net so einfach. Weiss jemand, wo ich die 127.0.0.xxx Adressen registrieren muss???

Viele Grüsse

Philipp

  1. Halihallo Forumer

    Ei, ei, ei... Ich habe mal wieder ein Programmiersprachendurcheinander gehabt... <% %> heisst es ja bei ASP, peinlich und entschuldigung :-)

    Aber...

    1. Frage:
         Mit OmniHTTPd und Apache hatte ich so ca. 20 Virtuelle Websites eingerichtet mit irgendeiner 127.0.0.xxx IP. Bei IIS geht das glaub ich net so einfach. Weiss jemand, wo ich die 127.0.0.xxx Adressen registrieren muss???

    ... bleibt...

    Viele Grüsse

    Philipp

      1. Frage:
           Mit OmniHTTPd und Apache hatte ich so ca. 20 Virtuelle Websites eingerichtet mit irgendeiner 127.0.0.xxx IP. Bei IIS geht das glaub ich net so einfach. Weiss jemand, wo ich die 127.0.0.xxx Adressen registrieren muss???

      Hi Phil

      wie mit irgendeiner IP ??? eine mit .1, ne andere mit .2 ???

      127.0.0.1 ist die Loopback-Adresse deines eigenen Rechners auch bezeichnet als localhost

      wenn du die adressen in deinem lokalen Netzwerk verwendest, brauchst du keine irgendwo registrieren. Wenn du allerdings eine öffentlich IP begehrst, so, daß man deinen "neuen" Server durch das Internet hindurch aufrufen kann, dann mußt du beim DeNIC eine öffentliche IP beantragen. Dat kostet dann ooch richtig Jeld!

      Dein XP mit IIS ist von Grund auf "alle unzugewiesenen IP Adressen" eingestellt. Das kannst du auf einen anderen Wert setzen.
      a) deine festvergebene Rechner IP in einem lokalen Netzwerk, z.b. 192.168.0.14 (subnet mask: 255.255.255.0)

      b) 127.0.0.1 (localhost) -> dann kannst du den IIS nur von deinem Rechner aus aufrufen

      c) alle unzugewiesenen -> dein Rechner kann ja dank DFÜ auch noch eine temporäre IP für den Streifzug durchs Internet von deinem Provider haben, dann wärst du auch (solange du online bist) unter dieser IP aufrufbar -> WAS ich aber strikt ablehnen würde aus Sicherheitsgründen ....

      etwas anderes ist es noch, wenn du hinter einem Gateway/Router sitzt, dann kann dieser Router nämlich Anfragen für port 80 etc abblocken und gar nicht erst an deinen PC weiterreichen, damit bist du von außen (Internet) nicht sichtbar.

      Eine richtige Multi-Site Hosting Fähigkeit (mehrere Sites für unterschiedliche IPs) bekommst du erst mit der Win2K Server Familie

      unter IIS auf XP, Win2K pro kannst du lediglich Virtuelle Verzeichnisse unter einem Hostnamen einrichten.... mehr brauchst du für den Heimbetrieb auch nicht

      Hoffe, das hilft dir etwas weiter
      Gruß, Frank

      1. Halihallo Frank

        1. Frage:
             Mit OmniHTTPd und Apache hatte ich so ca. 20 Virtuelle Websites eingerichtet mit irgendeiner 127.0.0.xxx IP. Bei IIS geht das glaub ich net so einfach. Weiss jemand, wo ich die 127.0.0.xxx Adressen registrieren muss???

        wie mit irgendeiner IP ??? eine mit .1, ne andere mit .2 ???

        genauso.
        Ich habe einige Projekte offline, die ich bisher mit aufsteigenden IPs über 127.0.0.xxx zugängig gemacht hab. Also 127.0.0.1, 127.0.0.2, 127.0.0.3, ..., 127.0.0.20...

        wenn du die adressen in deinem lokalen Netzwerk verwendest, brauchst du keine irgendwo registrieren. Wenn du allerdings eine öffentlich IP begehrst, so, daß man deinen "neuen" Server durch das Internet hindurch aufrufen kann, dann mußt du beim DeNIC eine öffentliche IP beantragen. Dat kostet dann ooch richtig Jeld!

        Ne, es handelt sich lediglich um meine internen Projekte, die sollen nicht übers Internet erreichbar sein. Nicht einmal (OK, wäre eigentlich schon ganz nett) übers lokale Netzwerk, sondern nur auf meinem PC.

        Dein XP mit IIS ist von Grund auf "alle unzugewiesenen IP Adressen" eingestellt. Das kannst du auf einen anderen Wert setzen.
        a) deine festvergebene Rechner IP in einem lokalen Netzwerk, z.b. 192.168.0.14 (subnet mask: 255.255.255.0)

        Geht auch ganz gut.

        b) 127.0.0.1 (localhost) -> dann kannst du den IIS nur von deinem Rechner aus aufrufen

        geht auch ganz gut.

        c) alle unzugewiesenen -> dein Rechner kann ja dank DFÜ auch noch eine temporäre IP für den Streifzug durchs Internet von deinem Provider haben, dann wärst du auch (solange du online bist) unter dieser IP aufrufbar -> WAS ich aber strikt ablehnen würde aus Sicherheitsgründen ....

        stimmt. Würd ich auch nie tun...

        etwas anderes ist es noch, wenn du hinter einem Gateway/Router sitzt, dann kann dieser Router nämlich Anfragen für port 80 etc abblocken und gar nicht erst an deinen PC weiterreichen, damit bist du von außen (Internet) nicht sichtbar.

        Eine richtige Multi-Site Hosting Fähigkeit (mehrere Sites für unterschiedliche IPs) bekommst du erst mit der Win2K Server Familie

        das ist es, was ich möchte. Aber alles offline. Ich hatte gedacht, dass ich die zu verwendenden IP's irgendwo registrieren muss (sowas hab ich mal gelesen); aber ich hab's soeben getestet. Die kann ich bei Submask 255.255.255.0 lokal einfach eingeben und entsprechend im IIS festlegen und dann funktioniert's ja auch ohne umwege; leider nur für einen Host.

        unter IIS auf XP, Win2K pro kannst du lediglich Virtuelle Verzeichnisse unter einem Hostnamen einrichten.... mehr brauchst du für den Heimbetrieb auch nicht

        Oh yeh... Wirklich??? - Nun, virtuelle Verzeichnisse bringen mir gar nix. Ich will mehrere Hostnamen (bzw. einfach mehrere IP's). Geht das wirklich nicht? - Kann man das irgendwie ändern, ohne sich die Server - Edition zu kaufen?

        Ich tät eigentlich ganz gerne den IIS verwenden, dass ich auch noch etwas ASP programmieren kann, wenn ich lustig bin.
        Aber wenn das net machbar ist, dann benutze ich halt den einen Host für ASP und alles andere lasse ich eben über Apache oder OmniHTTPd laufen. Hm. Hier entsteht ein weiteres Problem: Die kriegen sich doch in die Haare, nicht? - Können doch nicht beide den Port 80 abhören und für jeden Webserver einen eigenen Port angeben und diesen immer explizit angeben zu müssen ist auch nicht so das wahre.

        Hierfür Ideen?

        Viele Grüsse

        Philipp

        1. Hi,

          genauso.
          Ich habe einige Projekte offline, die ich bisher mit aufsteigenden IPs über 127.0.0.xxx zugängig gemacht hab. Also 127.0.0.1, 127.0.0.2, 127.0.0.3, ..., 127.0.0.20...

          das verbietet sich eigentlich durch die Logik... ein PC ist durch eine in seinem Netzwerk einzigartige Adresse gekennzeichnet, die IP (in Zsmh. mit der Subnetmask) zusätzlich zu seiner Loopbackadresse

          Wenn er als Gatewayrechner dient, dh. in mehr als einem Netz gleichzeitig ist, dann hat er so eine eindeutige Adresse für jedes Netz in dem er hängt. Dann brauch er aber auch zwei Netzadapter.
          Der Zweite (neben der "Netzwerkkarte") ist dann der DFÜ Adapter, was normale Heimrechner anbelangt.

          Ansich kann man dem IIS sagen, das er auf mehrere verschiedene IPs hören soll, aber eben bei den Windows2K Servern, weil dieses Feature bei der Workstation-Version wenig Sinn machen würde, denn Workstations fungieren selten mit mehreren Identitäten in einem Netz. Dazu gibt es ja die Server. Auf W2K Pro wirst du es demnach nicht hinbekommen.

          betreffs parallelbetrieb: ein Webserver ist eine Software, die ständig definierte (Ports)+ abhört, probleme (könnte es geben|gäbe es), wenn 2 solche www-server softwarez den selben Port abhören würde

          Du könntest du Probieren (denn das geht immer noch über studieren) herausfinden, ob sich beide vertragen, wenn du den IIS auf einem anderen Port horchen läßt, als den Apache.

          Eine andere möglichkeit wäre soviele Netzwerkadapter einzubauen, wie du an HTTP-Hosts brauchst.... oder du nimmst viele kleine weitere PCs und verkoppelst sie als Subnet an deinen jetzigen, dann hast du mehrere Hosts :-)

          Aber so oder so finde ich es doof, webs die lokal herumliegen zum Entwickeln durch separate Hosts zu trennen.

          Ich entwickle immer zwischen 4 und 7 Projekten gleichzeitig. Die laufen alle unter einer IIS Instanz mit verschiedenen Virtual Directories, da gibt es keine Probleme. Diese VD's habe ich mit den Domainnamen versehen und kann deshalb schnell hin und her springen ohne den Überblick zu verlieren. Den Zugriff darauf kann ich unterbinden, indem ich die integrierte Windows-Authorisierung drauflege. Da gibts für alle neugierigen einen 403 und fertig.

          oder beschränke den Listener auf 127.0.0.1   dann kommt auch keiner drauf, wozu brauchst du überhaupt die Hostnamen für die einzelnen Sites, wenn du es sowieso nur lokal hast? Da verstehe ich dein Verlangen irgendwie nicht.

          das ist es, was ich möchte. Aber alles offline.

          selbst dann hast du auch nur die Identitäten des Rechners zur Verfügung um sie zu vergeben.

          Ich hoffe, du kannst eine Entscheidung treffen mit den Infos.
          Gruß, Frank

          1. Halihallo Frank

            das verbietet sich eigentlich durch die Logik... ein PC ist durch eine in seinem Netzwerk einzigartige Adresse gekennzeichnet, die IP (in Zsmh. mit der Subnetmask) zusätzlich zu seiner Loopbackadresse

            Ja, ja, ich weiss ja :-)
            Aber ich wollte eben mehrere Server "emulieren", sodass ich für jedes Projekt eine eigene IP habe, die ich im Browser eintippen kann. Ob das logisch sinnvoll ist, oder nicht, ist mir eigentlich wurscht :-)

            Wenn er als Gatewayrechner dient, dh. in mehr als einem Netz gleichzeitig ist, dann hat er so eine eindeutige Adresse für jedes Netz in dem er hängt. Dann brauch er aber auch zwei Netzadapter.
            Der Zweite (neben der "Netzwerkkarte") ist dann der DFÜ Adapter, was normale Heimrechner anbelangt.

            Hm. Ich glaube du denkst etwas zu weit, wahrscheinlich hab ich mich noch etwas unklar ausgedrückt:

            früher war ich mit OmniHTTPd verwöhnt gewesen, jedem Projekt eine eigene 127.0.0.xxx IP zuzuweisen. Somit konnte ich einfach 127.0.0.1 für das Projekt 0x01 und 127.0.0.2 für das Projekt 0x02 verwenden. So habe ich die Projekte einfach schon getrennt gehabt und musste mir nur die IP merken. Das ganze muss nicht im ganzen Netzwerk sichtbar sein, sondern nur offline bzw. einfach auf meinem Computer. Zudem habe ich so ausgeschlossen, dass ich Probleme mit Verzeichnissen/URL's bekomme; ich habe z. B. alle Perl Programme im /cgi-bin Ordner => wenn ich das ganze jetzt in Virtuellen Verzeichnissen lagere, stimmen die URL's bei mir offline nicht mehr mit denen vom online Server überein. Natürlich verwende ich fast überall relative Datei-/Verzeichnisnamen, aber bei Formularen kommt des öfteren mal <form action="/cgi-bin/test.pl" /> vor... Dann gibt's Probleme und deshalb will ich auf meinem Computer etwa die selben "Verhältnisse" schaffen, wie sie später auch auf dem Server sind; deshalb die verschiedenen IP's und nicht virtuelle Verzeichnisse.

            Also:

            offline:
            localhost/proj1/cgi-bin/test.pl

            online:
            www.what-ever.ch/cgi-bin/test.pl

            Ansich kann man dem IIS sagen, das er auf mehrere verschiedene IPs hören soll, aber eben bei den Windows2K Servern, weil dieses Feature bei der Workstation-Version wenig Sinn machen würde, denn Workstations fungieren selten mit mehreren Identitäten in einem Netz. Dazu gibt es ja die Server. Auf W2K Pro wirst du es demnach nicht hinbekommen.

            Ach... Dann bastle ich eben meinen eigenen IIS; scheiss auf M$ :-))

            betreffs parallelbetrieb: ein Webserver ist eine Software, die ständig definierte (Ports)+ abhört, probleme (könnte es geben|gäbe es), wenn 2 solche www-server softwarez den selben Port abhören würde

            Du könntest du Probieren (denn das geht immer noch über studieren) herausfinden, ob sich beide vertragen, wenn du den IIS auf einem anderen Port horchen läßt, als den Apache.

            Das hatte ich ja beschrieben, dass ich das eben nicht will :-)

            Eine andere möglichkeit wäre soviele Netzwerkadapter einzubauen, wie du an HTTP-Hosts brauchst.... oder du nimmst viele kleine weitere PCs und verkoppelst sie als Subnet an deinen jetzigen, dann hast du mehrere Hosts :-)

            Tja, ich habe leider nicht so viele PC's wie Projekte :-))

            Aber so oder so finde ich es doof, webs die lokal herumliegen zum Entwickeln durch separate Hosts zu trennen.

            Frage: Ist es noch doof mit meiner Argumentation von oben?
            Nachtrag: Ich will an bestehenden Projekten nix ändern... Da wechsle ich lieber zu Apache...

            das ist es, was ich möchte. Aber alles offline.

            selbst dann hast du auch nur die Identitäten des Rechners zur Verfügung um sie zu vergeben.

            Hm. Ich glaube ich muss meinem Computer Schizophrenie beibringen :-)
            oder noch besser: Multiple Personality...

            Ich hoffe, du kannst eine Entscheidung treffen mit den Infos.

            Also der Vorschlag mit den Vituellen Directories finde ich schon mal sehr gut. Daran hab ich gar nicht gedacht (weil ich eben die Konsequenzen der obigen Argumentation befürchte). Aber vielleicht gibt's ja hierbei eine Lösung über virtuelle Directories, sodass die relativen und absoluten Pfade gleich bleiben??? - Eben das Beispiel mit

            <form action="/cgi-bin/test.pl" />

            dann müsste ich doch offline jedem /cgi-bin noch das virtuelle Directory für das Projekt anhängen... Das möchte ich jedoch verhindern (was ich eben mit den vielen virtuellen 127.0.0.xxx Adressen konnte).

            Viele Grüsse und Danke für die Ideen

            Philipp

            1. Also:
              offline:
              localhost/proj1/cgi-bin/test.pl
              online:
              www.what-ever.ch/cgi-bin/test.pl
              Also der Vorschlag mit den Vituellen Directories finde ich schon mal sehr gut. Daran hab ich gar nicht gedacht (weil ich eben die Konsequenzen der obigen Argumentation befürchte). Aber vielleicht gibt's ja hierbei eine Lösung über virtuelle Directories, sodass die relativen und absoluten Pfade gleich bleiben??? - Eben das Beispiel mit

              <form action="/cgi-bin/test.pl" />

              dann müsste ich doch offline jedem /cgi-bin noch das virtuelle Directory für das Projekt anhängen... Das möchte ich jedoch verhindern (was ich eben mit den vielen virtuellen 127.0.0.xxx Adressen konnte).

              Hi nochmal,

              es hindert dich doch niemand das cgi-bin Verzeichnis jedem Projekt als ALIAS unterzuschieben. Ich habe bei einer Site, bei der 3 Applikationen laufen (normale Site, Bestellsystem, Adminsystem) ein GFX verzeichnis, welches als virtual directory alias /grafik unter jeder der 3 Applikationen zu finden ist.

              iisroot
                |- Applikation 1  -  mainsite mapped to D:\Projekte\prj1\www
                |     |- /grafik  -  mapped to D:\Projekte\prj1\grafik
                |     |- /cgi-bin -  mapped to C:\Inetpub\iisroot\cgi-bin
                |- Applikation 2  -  bestell site mapped to D:\Projekte\prj1\bestellsite\www
                      |- /grafik  -  mapped to D:\Projekte\prj1\grafik
                |     |- /cgi-bin -  mapped to C:\Inetpub\iisroot\cgi-bin

              usw. so habe ich ein Projekt, welches Daten aus einer DB bezieht und dieselben interaktiven Mechanismen nutzt (gästebuch, warenkorbfunktionen, mailer usw)

              Mit den HTTP-Headern etc kann ich dir leider nicht weiterhelfen, da bin ich noch nicht vorbeigekommen. WWWozu eigentlich einen Proxy? Mach doch einfach einen lokalen DNS Server auf?!!

              So tschautschau erstmal
              Frank

              1. Halihallo nochmals :-)

                es hindert dich doch niemand das cgi-bin Verzeichnis jedem Projekt als ALIAS unterzuschieben. Ich habe bei einer Site, bei der 3 Applikationen laufen (normale Site, Bestellsystem, Adminsystem) ein GFX verzeichnis, welches als virtual directory alias /grafik unter jeder der 3 Applikationen zu finden ist.

                iisroot
                  |- Applikation 1  -  mainsite mapped to D:\Projekte\prj1\www
                  |     |- /grafik  -  mapped to D:\Projekte\prj1\grafik
                  |     |- /cgi-bin -  mapped to C:\Inetpub\iisroot\cgi-bin
                  |- Applikation 2  -  bestell site mapped to D:\Projekte\prj1\bestellsite\www
                        |- /grafik  -  mapped to D:\Projekte\prj1\grafik
                  |     |- /cgi-bin -  mapped to C:\Inetpub\iisroot\cgi-bin

                Aha! - Ich glaube jetzt versteh ich worauf du hinauswillst, sorry, ich kenne mich mit dem IIS nicht so gut aus... Aber gibt dass nicht Namenskollisionen. Was, wenn eine Applikation eine Datei mit selben Namen wie in Applikation Nr. 2 hat? - Was passiert dann? - Naja, kanns ja mal ausprobieren.

                usw. so habe ich ein Projekt, welches Daten aus einer DB bezieht und dieselben interaktiven Mechanismen nutzt (gästebuch, warenkorbfunktionen, mailer usw)

                Mit den HTTP-Headern etc kann ich dir leider nicht weiterhelfen, da bin ich noch nicht vorbeigekommen. WWWozu eigentlich einen Proxy? Mach doch einfach einen lokalen DNS Server auf?!!

                Öm. Ja, ich dachte zuerst, dass ich wie früher für jedes Projekt eine IP habe, diese IP und 80Port lasse ich dann über Perlprogramme auslesen und leite die HTTP-Requests an den IIS weiter (eben ins richtige Unterverzeichnis). Aber da ich nicht zwanzig Fenster mit der DOS Konsole offen haben wollte, und ich nicht umbedingt das ganze in cygwin machen wollte (wenn's nicht sein muss); dachte ich mir eben, dass ich im Browser die Proxi-Konfig auf mein Progrämmchen legen kann, was aber nicht als Proxi fungiert, sondern als "Request-Relocator". Mit dem Proxi-Service gings einfach am schnellsten und funktioniert auch schon ziemlich gut.
                Einen eigenen DNS Server??? - Weiss nicht, wie ich sowas programmieren soll und was ich nicht selber programmieren kann, will ich nicht auf meinem PC :-))
                Ne, im Ernst: Wenn ich schon eine Lösung einfach selber programmieren kann, mache ich das lieber so, als mir ein 100MB grosses M$ Produkt zu installieren, was mir am Ende nicht mehr nützt.

                Viele Grüsse und nochmals Danke

                Philipp

                1. Einen eigenen DNS Server??? - Weiss nicht, wie ich sowas programmieren soll und was ich nicht selber programmieren kann, will ich nicht auf meinem PC :-))
                  Ne, im Ernst: Wenn ich schon eine Lösung einfach selber programmieren kann, mache ich das lieber so, als mir ein 100MB grosses M$ Produkt zu installieren, was mir am Ende nicht mehr nützt.

                  Hi hallo und moin

                  wozu MS??   ein freeware DNS Server ist zum beispiel beim JANAServer drin... lt. Homepage reicht die Online-Hilfe von VC++ (schätze mal MSDN) und die entsprechenden RFC Dokumente zum Programmieren so eines Servers aus.

                  Und wenn du einen "Proxy" programmieren kannst, dann sollte der Schritt zum DNS nicht sehr groß sein.

                  juut... versuch mal dein Glück. Kannst ja mal ne Info (ffoerster@web.de) geben, wenn du was passendes hinbekommen hast

                  Zu deiner Frage, ob sich da nicht was beißt:
                  Nein, was soll sich beißen?
                  Das angelegte virtuelle Verzeichnis gehört in dem Fall zur Applikation dazu, d.h. ASP Seiten, die du von Applikation 1 in cgi-bin aufrufen würdest, laufen dann im Prozess der Applikation 1. Und analog wenn du den Aufruf von Applikation 2 machen würdest. Der Witz dieses virtuellen Verzeichnisses ist ja, das es im IIS mehr oder weniger ein ALIAS für ein physisches Verzeichnis auf deiner Festplatte ist. So kann man einmal Dateien mehreren Websites zur Verfügung stellen ohne da erst physisch Pfade für grafikordner etc basteln zu müssen.

                  HTH, tschautschau, Frank

                  1. Halihallo Frank ;)

                    Einen eigenen DNS Server??? - Weiss nicht, wie ich sowas programmieren soll und was ich nicht selber programmieren kann, will ich nicht auf meinem PC :-))
                    Ne, im Ernst: Wenn ich schon eine Lösung einfach selber programmieren kann, mache ich das lieber so, als mir ein 100MB grosses M$ Produkt zu installieren, was mir am Ende nicht mehr nützt.

                    wozu MS??   ein freeware DNS Server ist zum beispiel beim JANAServer drin... lt. Homepage reicht die Online-Hilfe von VC++ (schätze mal MSDN) und die entsprechenden RFC Dokumente zum Programmieren so eines Servers aus.

                    Und wenn du einen "Proxy" programmieren kannst, dann sollte der Schritt zum DNS nicht sehr groß sein.

                    Hm. OK. Werd mich hierzu informieren. Danke für dein Vertrauen, dass ich das Programmieren kann ;-)

                    juut... versuch mal dein Glück. Kannst ja mal ne Info (ffoerster@web.de) geben, wenn du was passendes hinbekommen hast

                    Wird gemacht.

                    Zu deiner Frage, ob sich da nicht was beißt:
                    Nein, was soll sich beißen?

                    Es scheint ich bin schwer von Begriff. Du hast zwei Applikationen definiert, die "öffentlich" im selben Verzeichnis liegen (also zwei Verweise auf separate cgi-bin Verzeichnisse, die aber in das selbe "offizielle" cgi-bin Verzeichnis "gemountet" werden). Was, wenn dann zwei Dateien der zwei Applikationen genau den selben Namen haben? - Welche Datei wird er benutzen? - Oder kann das der IIS intern über die Applikationszuweisung auseinanderhalten? - Womit soll der IIS wissen, welche Applikation ich verwenden will? - Anhand des Dateinamens lässt sich dies ja nicht herausfinden, genausowenig an der Verzeichnisstruktur, da sie ja "gleich" ist, da die Applikationen in das selbe Verzeichnis gemountet werden.

                    Also irgendwie habe ich hier einen Denkfehler. Meintest du, dass jede Applikation einen eigenen Ordner hat, also...

                    http://127.0.0.1/app1/cgi-bin und
                    http://127.0.0.1/app2/cgi-bin?

                    oder werden beide Applikationen in das selbe Verzeichnis gemountet (was eine Lösung für mein Problem wäre)

                    App1 Alias => http://127.0.0.1/cgi-bin
                    App2 Alias => http://127.0.0.1/cgi-bin

                    aber was, wenn dann zwei Dateien von den Applikationen den selben Namen haben? - Woher will der IIS wissen, welche Applikation verwendet werden soll?

                    Hättet ihr nochmals kurz Zeit mir das etwas zu erleutern?

                    Viele Grüsse

                    Philipp

                  2. Halihallo Frank

                    wozu MS??   ein freeware DNS Server ist zum beispiel beim JANAServer drin... lt. Homepage reicht die Online-Hilfe von VC++ (schätze mal MSDN) und die entsprechenden RFC Dokumente zum Programmieren so eines Servers aus.

                    OK. Ein DNS Server zu programmieren wäre machbar, nur bringt mir das herzlich wenig, wie ich soeben überlegt habe. Der weist ja einer IP nur einen "Namen" zu. Da jedoch der IIS nur eine IP abhört, wäre das völlig sinnlos.

                    Zu deiner Frage, ob sich da nicht was beißt:
                    Nein, was soll sich beißen?
                    Das angelegte virtuelle Verzeichnis gehört in dem Fall zur Applikation dazu, d.h. ASP Seiten, die du von Applikation 1 in cgi-bin aufrufen würdest, laufen dann im Prozess der Applikation 1. Und analog wenn du den Aufruf von Applikation 2 machen würdest. Der Witz dieses virtuellen Verzeichnisses ist ja, das es im IIS mehr oder weniger ein ALIAS für ein physisches Verzeichnis auf deiner Festplatte ist. So kann man einmal Dateien mehreren Websites zur Verfügung stellen ohne da erst physisch Pfade für grafikordner etc basteln zu müssen.

                    Ich hab mal ein wenig herumprobiert. Das Ergebnis war net sehr befriedigend. Applikationen bedeutet nix anderes, dass alle Scripts im selben Verzeichnis der selben Applikation angehören. Es kann nicht zwei Applikationen in einem Verzeichnis geben (ausser man weist den App-Namen jeder Datei zu? - Aber da entsteht dann das Problem, wenn zwei Dateien den selben Namen haben => geht net). Also denke ich, dass mir hier Applikationen nix weiterhelfen bzw. nur indirekt über das anlegen von virtuellen Directories (gibt ja dann ne neue App.) und meinem "proxi"-Dienst, der dann die Requests ins richtige Verzeichnis weiterleitet...

                    z. B. http://www.site1.de/cgi-bin/t.pl => http://127.0.0.1/www.site1.de/cgi-bin/t.pl

                    wenn ich nun ein Form auf www.site1.de/form.html habe

                    <form action="/cgi-bin/t.pl">

                    dann lädt der Browser http://www.site1.de/cgi-bin/t.pl, was aber nicht existiert und von meinem Proxi abgefangen wird und wie folgt "umgerouted" wird:

                    http://127.0.0.1/www.site1.de/cgi-bin/t.pl

                    somit kann ich jede virtuelle "Domain" in ein Applikations/Virtual Directory umleiten und brauche so nur eine IP und muss mein /cgi-bin nicht in www.site1.de/cgi-bin ändern.

                    Viele Grüsse

                    Philipp

          2. Halihallo nochmals

            Hatte grad einen kleinen Geistesblitz :-)

            Ich kann ja einen eigenen pseudo-proxi schreiben, wo ich die hostnamen von lokalen projekten abfange (so kann ich sogar die richtigen Domainnamen benutzen, die dann auch online sichtbar sind, obwohl der Computer gar nie online geht) und durch das virtuelle Verzeichnis des IIS ersetze. Das liesse sich ziemlich einfach bewerkstelligen und ist voll funktional.
            Einen Proxi hab ich schon mal gebastelt, dort wäre nicht mehr viel zu machen gewesen, hab dann aber trotzdem nicht weitergemacht, aber jetzt hab ich die nötige Motivation wieder dazu :-)

            Viele Grüsse

            Philipp

            1. Halihallo nochmals

              Hatte grad einen kleinen Geistesblitz :-)

              Ich kann ja einen eigenen pseudo-proxi schreiben, wo ich die hostnamen von lokalen projekten abfange (so kann ich sogar die richtigen Domainnamen benutzen, die dann auch online sichtbar sind, obwohl der Computer gar nie online geht) und durch das virtuelle Verzeichnis des IIS ersetze. Das liesse sich ziemlich einfach bewerkstelligen und ist voll funktional.
              Einen Proxi hab ich schon mal gebastelt, dort wäre nicht mehr viel zu machen gewesen, hab dann aber trotzdem nicht weitergemacht, aber jetzt hab ich die nötige Motivation wieder dazu :-)

              OK. Der läuft ja sogar hervorragend...
              Jetzt kann ich über einen Hash spezifizieren, welche Domains in welches Virtuelle Verzeichnis (auf 127.0.0.1) umgeleitet werden sollen. Falls die Domain nicht in der Liste steht, wird einfach ein normaler HTTP Request auf das Objekt ausgeführt und alles funktioniert wie "normal"...

              z. B. http://www.proj01.ch wird jetzt zu http://127.0.0.1/www.proj01.ch/ gemapped und dieses entspricht einem virtuellen Directory vom IIS, wobei
              http://www.google.ch gleich ans Internet "weitergeleitet" wird, da es nicht in der Liste steht.

              Aber etwas faszinierendes hab ich hierbei festgestellt:
              Warum kann man im Proxi-Betrieb keine Header senden??? - Die erscheinen bei mir dann immer im Browser... Es scheint mir, als ob der ganze Content vom Proxi als "Antwort" interpretiert wird und es gar keine "HTTP-Header" mehr gibt (eg. keine Cookies)... Weiss hierbei jemand warum??? - Tät mich eigentlich interessieren. Wäre schön, wenn ich auch den Content-type angeben könnte (wobei ohne, wird alles trotzdem richtig gemacht, wahrscheinlich weil der Typ vom Browser "erkannt" wird, durch MIME-Mapping) oder Cookies senden könnte.

              Viele Grüsse

              Philipp

  2. Hallo Philipp,

    anstatt <? ... ?> solltest du <% ... %> schreiben. Dann
    klappts auch mit dem IIS, bzw. VBScript ;)

    HTH, Stefan

    1. Halihallo

      anstatt <? ... ?> solltest du <% ... %> schreiben. Dann
      klappts auch mit dem IIS, bzw. VBScript ;)

      ***ARGH***, hättest du mir das nicht sagen können, bevor ich die Frage gestellt habe :-))

      Ach her je, *indieEckeZurückZieh* und *schäm*

      Viele Grüsse

      Philipp

    2. Howdy Stefan!

      wie gehts?? Ich hoffe gut!

      du hattest doch mal etwas gepostet zum Herunterfahren und Neustarten des IIS Dienstes per Batch/Script.

      Leider find ich das im Archiv hier nich mehr. Kannst du mir nochmal n Link geben oder wiederholen, was du geschrieben hast?

      Danke dir! Frank

      1. Hi,

        du hattest doch mal etwas gepostet zum Herunterfahren und Neustarten des IIS Dienstes per Batch/Script.

        entweder übers Active Directory oder den Dienst mit "net stop w3svc" beenden.

        richard

        1. Oh danke, genau das habe ich gesucht.

          Tschau,
          Frank

          1. Hi Frank,

            oder beim IIS5 (W2K) geht's besser mit iisreset.

            Gruß,
            Martin

            1. Hi Frank,

              oder beim IIS5 (W2K) geht's besser mit iisreset.

              Gruß,
              Martin

              Hi,

              danke für den Tip.

              ich bräuchte etwas für IIS4 (noch NT4) und IIS5. Diese net stop ... hab ich jetzt schon erfolgreich ausprobiert... der witz ist, das der Service gestoppt werden soll, damit eine access-DB schnell kompaktiert werden kann, die sonst über die Application geöffnet ist.

              Trotzdem danke!!

              Tschautschau
              Frank

              1. Hi,

                ich bräuchte etwas für IIS4 (noch NT4) und IIS5. Diese net stop ... hab ich jetzt schon erfolgreich ausprobiert... der witz ist, das der Service gestoppt werden soll, damit eine access-DB schnell kompaktiert werden kann, die sonst über die Application geöffnet ist.

                Wenn es "nur" darum geht im IIS eine einzelne Web-Applikation zu beenden, ist es wenig sinnvoll gleich alles auszuschalten. Um geziehlt eine Web-Applikation zu manipulieren solltest du dann vielleicht doch auf das ADSI zurückgreifen (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iisref/html/psdk/asp/aore1jw9.asp).
                Ich persönlich setze das für Installationsroutinen ein. Wenn Du dazu Beispielcode benötigst scheue nicht danach zu fragen.

                richard

                1. Hi richard,

                  thanks for that hint!

                  lt. Microsoft gilt das für IIS5.1, auf meiner lokalen Maschine funktioniert das schön. Allerdings muß ich 3 Applikationen (sites)damit ausschalten, damit die DB wieder freigegeben wird zwecks komprimierung.

                  Außerdem fürchte ich, daß der NT Server auf dem die Sites produktiv laufen diese Objekte noch nicht kennt. Da scheint mir der Weg mit net stop und start am sichersten, da so 100%ig auch die DB frei ist.

                  Aber trotzdem danke für den Tip nochmal. Diese Objekte werden sicherlich von meinem ASP-Provider benutzt, wenn man dort etwas einrichtet über das Webinterface.

                  Yoyo, denn mal noch nen schönen Dienstag
                  Tschau,
                  Frank