>  Q&A  >  본문

Nginx는 DELETE 및 PUT 요청 방법을 사용할 수 있도록 도메인 간 구성을 어떻게 수행합니까?

배경 설명

Nginx를 기반으로 Restful Api를 설계할 계획입니다. DELETE 및 PUT 요청 방법을 사용하고 도메인 간 액세스를 지원해야 합니다. 현재 로컬 가상 호스트의 테스트 도메인이 두 개 있습니다. http://api.zlzkj.comhttp://127.0.0.1/api/web

문제 설명

nginx.conf 관련 도메인 간 구성

으아아아

ajax 요청

으아아아

DELETE 요청 메소드는

http://api.zlzkj.com/下访问http://api.zlzkj.com/admins/1에서 정상적으로 사용할 수 있습니다.

에서는 요청 방법이 OPTINOS 모드로 필터링되어 있음을 알 수 있습니다. 일반적으로 DELETE 모드여야 하며 이로 인해 서버의 405 방법이 허용되지 않습니다http://127.0.0.1/api/web/下访问http://api.zlzkj.com/admins/1

방화벽에서 관련 글도 찾아봤는데, Nginx를 이렇게 구성한 후에는 DELETE 요청 방식을 도메인 간에 정상적으로 사용할 수 있는 것 같은데, 제 입장에서는 같은 도메인에서만 사용할 수 있는 것 같아요. 요청 방법은 도메인 전체에서 OPTINOS로 필터링되며 405 오류가 발생했습니다.

Nginx 버전에 문제가 있는 걸까요? 환경 구성에 문제가 있나요? 당신이 나에게 통찰력을 줄 수 있기를 바랍니다. 감사합니다.

大家讲道理大家讲道理2713일 전1344

모든 응답(2)나는 대답할 것이다

  • 某草草

    某草草2017-05-16 17:17:58

    OPTIONS 요청은 특별합니다. 이 메서드는 서버가 지원하는 다른 기능과 메서드를 알려주도록 요청하는 데 사용됩니다. OPTIONS请求比较特殊,该方法用于请求服务器告知其支持哪些其他的功能和方法。
    在跨域的时候,浏览器会自动发起一个OPTIONS请求。
    当你的服务器响应了OPTIONS请求的时候,会有类似如下的响应:

    Allow → GET,HEAD,POST,OPTIONS,TRACE
    Cache-Control → max-age=86400
    Connection → keep-alive
    Content-Encoding → gzip
    Content-Length → 20
    Content-Type → text/html
    Date → Thu, 30 Jun 2016 04:00:24 GMT
    Expires → Fri, 01 Jul 2016 04:00:24 GMT
    Server → bfe/1.0.8.14
    Vary → Accept-Encoding,User-Agent

    如果你的服务器没有处理响应OPTIONS,会有如下的响应:

    Connection → keep-alive
    Content-Encoding → gzip
    Content-Type → text/html
    Date → Thu, 30 Jun 2016 04:02:35 GMT
    Server → nginx/1.4.6 (Ubuntu)
    Transfer-Encoding → chunked

    可以看出,缺少了Allow响应头
    所以,你应该有处理这个OPTIONS교차 도메인인 경우 브라우저는 자동으로 OPTIONS 요청을 시작합니다.
    서버가 OPTIONS 요청에 응답하면 다음과 유사한 응답이 표시됩니다.

    으아아아 🎜서버가 OPTIONS 응답을 처리하지 않으면 다음과 같은 응답이 표시됩니다. 🎜 으아아아 🎜Allow 응답 헤더가 누락된 것을 볼 수 있습니다🎜따라서 이 OPTIONS 요청을 처리하는 서비스가 있어야 합니다. 이 작업은 nginx에서 직접 수행할 수 있습니다. 구성에 다음 구성을 추가하세요. 🎜 으아아아

    회신하다
    0
  • PHPz

    PHPz2017-05-16 17:17:58

    으아아아

    회신하다
    0
  • 취소회신하다