zooom
24 February 2020 15:30
1
Ich will meine lokale Instanz (Port 8090, kein https) in eine https (yacysearch) Webseite integrieren.
Dafür muss der YaCy webserver den CORS header schicken.
Wo stelle ich das ein?
So wie hier beschrieben geht es nicht:
im defaults/web.xml funktioniert das nicht:
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern> /* </url-pattern>
</filter-mapping>
Was kann ich tun?
tmarx
25 February 2020 13:03
2
Hi! Du musst einen richtigen Webserver davor schalten. Z.B. Nginx. Die können dann auch SSL und die CORS Header setzen.
Die Konfiguration sieht in etwa so aus:
location / {
# Allow CORS
add_header 'Access-Control-Allow-Origin' 'https://www.xyz.de';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET';
# Yacy Proxy
proxy_redirect http://127.0.0.1:8090 https://suche.xyz.de/;
proxy_pass_header Server;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:8090;
}