מה תרצה/י לחפש?
טיפול בבעיית CORS
כללי
במצב שבו WSO2 נמצא בדומיין שונה מהדומיין שפונה אליו יכולה להיווצר תקלה של חסימת דפדפן.
הבעיה מתרחשת כאשר צד הלקוח מנסה לבצע קריאה ל API שנמצא בדומיין אחר.
הדפדפן יחזיר את השגיאה שדומה למבנה הבא:
Cross-Origin Request Blocked: The Same Origin Policy disallows
reading the remote resource at https://some-url-here. (Reason: additional information here).
הגדרת EI על מנת לאפשר גישה
כדי להימנע מהתקלה הזו יש לאפשר בצד אליו פונים (במקרה זה EI) את הגישה לכתובת ה IP או כתובת הדומיין שפונה אליו :
- יש לפתוח את הקובץ synapse.properties במצב עריכה.
הקובץ נמצא בנתיב:
wso2ei-6.6.0\conf\synapse.properties - בחלק התחתון של הקובץ יש לוודא שיש את שלושת ההגדרות הבאות. במידה ולא קיימות יש להוסיף.
synapse.rest.CORSConfig.enabled=true
synapse.rest.CORSConfig.Access-Control-Allow-Origin=http://localhost:8280,https://localhost:8243
synapse.rest.CORSConfig.Access-Control-Allow-Headers=content-type,Access-Control-Allow-Origin
הוספת דומיין
בשורה 2 בהגדרת Access-Control-Allow-Origin יש להוסיף את הדומיינים שאנחנו רוצים לאפשר גישה כלומר להוסיף פסיק (,) בסוף ולהוסיף את הגישה.
אם יש צורך לתמוך גם ב http וגם ב https יש להוסיף פעמיים.
במידה ורוצים לתת גישה לכל העולם (לא מומלץ אך לעיתים נדרש) יש להוסיף כוכבית (*) במקום כתובת הגישה