前后端分离解决跨域cors问题

  1. 修改windows的hosts文件
      vim C:\Windows\System32\drivers\etc\hosts
  1. 添加域名
前端:www.luffycity.cn
后端:api.luffycity.cn

hosts文件中添加如下
127.0.0.1   localhost
127.0.0.1   api.luffycity.cn
127.0.0.1   www.luffycity.cn

3.设置哪些客户端可以通过地址访问到后端

django中settings文件中
ALLOWED_HOSTS = [
    'api.luffycity.cn',
    'www.luffycity.cn', #客户端网址也要,将来客户端要访问到服务端的 
]

4.修改启动项目的manage.py

Parameters:  runserver api.luffycity.cn:8000

5.django提供了一个第三方的包用来解决跨域问题

      安装:pip install django-cors-headers
      官方文档:https://github.com/ottoyiu/django-cors-headers/

6.INSTALLED_APPS中注册

INSTALLED_APPS = [
    ...
    'corsheaders'
]

7.添加中间件

MIDDLEWARE = [
    # 给响应头加一个响应头跨域
    'corsheaders.middleware.CorsMiddleware'
    ...
]

8.设置白名单

CORS_ORIGIN_WHITELIST = (
    'http://www.luffycity.cn:8080'
)
CORS_ALLOW_CREDENTIALS = False # 是否允许ajax跨域时携带cookie,False不允许

posted @ 2020-09-17 12:11  我在路上回头看  阅读(916)  评论(0编辑  收藏  举报