Кросс-домен с flask веб-сервисом с файлом wsgi (Gunicorn, системный сервис) - PullRequest
0 голосов
/ 15 апреля 2020

после преобразования моего файла, содержащего веб-службу, в службу на моем сервере резервного копирования, используемую ajax, возникает междоменная проблема, несмотря на то, что CORS настроен и add_header 'Access-Control-Allow-Origin' '*'; установлен в nginx конфигурации

, здесь приведена ошибка консоли: Блокирован перекрестный запрос: Политика одинакового происхождения запрещает чтение удаленного ресурса в https://server-side_.com / get_date . (Причина: несколько заголовков CORS 'Access-Control-Allow-Origin' не разрешены).

вот как я использую свой веб-сервис:

$.ajax({
    url: webservicelink+'/get_date',
    type: "get",
    data: {
         idSession: '<?php echo $_COOKIE['PHPSESSID'];?>'
    },
    success: function(data) {
          var time = data.heure;
     },
     error: function(data) {
     }
    });

вот мой код файла wsgi:

from wb_generique import app
from flask_cors import CORS
cors = CORS(app)
if __name__ == "__main__":
    app.run()

Ее конфигурация nginx

server {
    listen 81;
    server_name ws.server-crm.com;
    #root /var/www;

   location /
   {
       include proxy_params;
       proxy_pass http://unix:/var/www/flask/wb_generique.sock;

     if ($request_method = 'POST') {
        add_header 'Access-Control-Allow-Origin'  '*';
        add_header 'Access-Control-Allow-Methods' 'POST';
        add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified- 
     Since,Cache-Control,Content-Type,Range';
        add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
     }
     if ($request_method = 'GET') {
        add_header 'Access-Control-Allow-Origin'  '*';
        add_header 'Access-Control-Allow-Methods' 'GET';
       add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified- 
    Since,Cache-Control,Content-Type,Range';
        add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
     }
   }
 }

Я также пробовал эту конфигурацию nginx, но все та же проблема

server {
    listen 81;
    server_name ws.server-crm.com;
    #root /var/www;

   location /
   {
       include proxy_params;
       proxy_pass http://unix:/var/www/flask/wb_generique.sock;

     if ($request_method = 'POST') {
        add_header 'Access-Control-Allow-Origin'  'client-domain-name.com';
        add_header 'Access-Control-Allow-Methods' 'POST';
        add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified- 
     Since,Cache-Control,Content-Type,Range';
        add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
     }
     if ($request_method = 'GET') {
        add_header 'Access-Control-Allow-Origin'  'client-domain-name.com';
        add_header 'Access-Control-Allow-Methods' 'GET';
       add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified- 
    Since,Cache-Control,Content-Type,Range';
        add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
     }
   }
 }
...