Sửa lỗi CORS No ‘Access-Control-Allow-Origin’ header Tomcat/Geoserver

Sửa lỗi CORS No 'Access-Control-Allow-Origin' header Tomcat/Geoserver

Lỗi CORS No ‘Access-Control-Allow-Origin‘ hay Cross Domain là do WebServer mà ta gửi yêu cầu truy vấn đến không đồng ý những yêu cầu từ phía bên ngoài WebServer đó (ở đây tôi truy vấn từ Apache:80 đến GeoserverTomcat:8080)

Biểu hiện lỗi CORS No ‘Access-Control-Allow-Origin’ hay Cross Domain

lỗi CORS No 'Access-Control-Allow-Origin' hay Cross Domain
lỗi CORS No ‘Access-Control-Allow-Origin’ hay Cross Domain

Truy vấn bị chặn và không get được data về

Giải quyết Cross Domain

Chúng ta có thể cài plugin Allow-Control-Allow-Origin nếu bạn dùng chrome (Xem bài viết sau: https://dothanhlong.org/note-wfs-t-geoserver-and-openlayers/)

Hoặc cách cấu hình lại Tomcat

Chúng ta sẽ sửa file web.xml của tomcat

c:\xampp\Tomcat\conf\web.xml

Bổ sung thêm đoạn XML sau

<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>

Khởi động lại tomcat

Mọi thứ đã ok^^

WMS bản đồ thành phố Hồ Chí Minh từ server tomcat
WMS bản đồ thành phố Hồ Chí Minh từ server tomcat
WFS get về từ server Apache ở port 80
WFS get về từ server Apache ở port 80

Done!

-soiqualang_chentreu