Access-Control-Allow-Origin Fehler

  • Hallo liebes Forum,


    ich habe ein Problem, bei dem ich trotz Google suche einfach nicht weiter komme. Der Titel sagts bereits:
    CORS!


    Zu meinem Vorhaben:


    Ich habe eine SPS, vor der ich Daten lesen möchte und über eine HTML seite ausgeben möchte.

    Die SPS ist eine Beckhoff CX9020, der Datenaustausch läuft über ADS, genauer gesagt. TcAdsWebService.

    dazu habe ich mir ein Beispielprogramm von der Beckhoff Homepage runter geladen und das ganze ausprobiert.


    Jetzt hänge ich bei dem Zugriff auf die SPS..



    die index.html datei liegt in QWeb.


    Der Browser (egal ob Firefox, Edge oder Opera) sagt mir leider

    Code
    1. "Access to XMLHttpRequest at 'http://Administrator:1@172.22.22.110/TcAdsWebService/TcAdsWebService.dll' from origin 'http://172.22.22.8' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource."

    Die Apache.conf habe ich schon abgeändert, jedoch ohne Erfolg.


    Hier meine Config:



    Mein System ist ein TS-453BE mit aktueller Firmware 4.5.1_20201123


    Kann mir von euch noch jemand helfen?

    Fehlen noch Angaben?



    Viele Grüße

    Michael

  • var NETID = "5.36.137.149.1.1"; // Empty string for local machine;


    Soll das ne IP sein ? (es wird ja noch ein Port darunter angegeben) .. wenn ja ist des a bissel lang .. oder ?

  • Hallo,

    danke für die schnelle Rückmeldung!


    Nee, das ist unter Beckhoff die eindeutige Identifizierung eines Teilnehmers. Sie besteht normalerweise aus der IP Adresse + 1.1.

    Kann aber auch Selbst vergeben werden, wie in meinem Beispiel.


    Edit zum allgemeinen Verständnis (Sorry, für mich ist das klar):

    in dem Head sind var NETID und SERVICE_URL die gleiche Maschine.

    NETID = SERVICE_URL und wird über den Port 801 angesprochen.


    Konkret ist das Problem der Zugriff auf die SERVICE_URL.

    Einmal editiert, zuletzt von bikemichel ()

  • Du meinst "AllowOverride All" ?


    Sorry für die vielleicht komische Frage. Hab noch keine Erfahrung mit Server Administration.


    Ich dachte auch das das unter

    Code
    1. <Directory "/share/Web">
    2. ...
    3. </Directory>

    stehen muss weil die

    index.html in dem Pfad liegt..

    und hier hab ich´s drin.

  • Jo, das hab ich übersehen.

    Die Direktive ist geändert worden.

    Du kannst es trotzdem ausprobieren.

    Mehr als "geht nicht" passiert dadurch nicht.

  • Hab ich gemacht, leider kein Erfolg..


    Ich hab mal ne grundsätzliche frage zu dem config file und der Zuweisung.


    Wie ist denn die Schreibweise genau oder ist die nicht so wichtig:


    z.B. lese ich auf Mozilla Developer

    Code
    1. Access-Control-Allow-Origin: https://amazing.site

    Ist das das gleiche wie:

    Code
    1. Access-Control-Allow-Origin "https://amazing.site"

    ??


    Auf der Mozilla Developer Seite steht auch, das die Wildcard nicht für privaten gebrauch geeignet ist. Das sehe ich ein!

    Kann ich auch

    Code
    1. Access-Control-Allow-Origin "http://172.22.22.110"

    oder

    Code
    1. Access-Control-Allow-Origin: http://172.22.22.110

    setzen?

  • Ich stecke auch nicht so tief in der Apache-Conf drin.

    Probiere es einfach aus. Evtl. mal LAMP installieren.

    Vielleicht hat auch der eingebaute Apache von QNAP Probleme.