Safari에서만 권한이없는 리소스 401을로드하지 못했습니다.

Brcebn

내 앱에서 흥미로운 문제를 발견했습니다.

저는 루비 2.0과 함께 Rails 3을 사용하고 있습니다. 내 앱이 실행중인 프로덕션 서버와 다른 스테이징 서버가 이미 있습니다. 새로운 더 나은 것을 구성하고 있지만 Safari에만 문제가 있습니다.

Redirected to http://ip.server/
Completed 302 Found in 201.7ms (ActiveRecord: 0.0ms)
Started GET "/" for my.ip at 2014-10-13 08:17:18 +0200
Processing by DashboardController#index as HTML
Completed 401 Unauthorized in 1.2ms
Started GET "/user/sign_in" for my.ip at 2014-10-13 08:17:18 +0200
Processing by Devise::SessionsController#new as HTML
  Rendered application/_field_errors.html.erb (0.0ms)
  Rendered application/_field_errors.html.erb (0.0ms)
  Rendered devise/sessions/new.html.erb within layouts/devise (2.3ms)
Completed 200 OK in 5.5ms (Views: 3.8ms | ActiveRecord: 0.0ms)

네트워크 탭을 확인하면 다음을 볼 수 있습니다.

리소스로드 실패 : 서버가 401 (권한 없음) 상태로 응답했습니다.

처음에는 내 문제가 Devise에서 비롯된 것이라고 생각했지만 Google에서 확인한 결과 크로스 브라우저 문제

나는 Chrome에서 시도했고 작동합니다. AdBlock없이 또는 개인 탐색으로 시도했지만 여전히 Safari에서는 작동하지 않습니다.

편집하다:

두 가지 요청을했습니다. 하나는 Chrome에서, 다른 하나는 Safari에서 왔습니다. 유일한 차이점은 다음 줄입니다.

WARNING: Can't verify CSRF token authenticity

편집 2 :

나는 protect_from_forgery주석을 ApplicationController.rb달았고 마침내이 오류 (CSRF에 관한)는 내 문제에 대한 책임이 없습니다.

여기에 Chrome과 Safari로 시도 할 때 스택이 있습니다.

Chrome 사용 :

Started POST "/user/sign_in" for my.ip at 2014-10-14 13:27:51 +0200
Processing by Devise::SessionsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"c86MNR4MCSbQWJiAjkGtgfgPMg5YirG1tqf/2vqdBWc=", "user"=>{"email"=>"[email protected]", "password"=>"[FILTERED]", "remember_me"=>"0"}}
User Load (0.4ms)  SELECT `users`.* FROM `users` WHERE `users`.`email` = '[email protected]' LIMIT 1
(0.1ms)  BEGIN
WARNING: User#current is nil, are you including SentientController on your ApplicationController?
(0.3ms)  UPDATE `users` SET `last_sign_in_at` = '2014-10-14 11:26:45', `current_sign_in_at` = '2014-10-14 11:27:51', `sign_in_count` = 52, `updated_at` = '2014-10-14 11:27:51' WHERE `users`.`type` IN ('User::Admin') AND `users`.`id` = 1
(26.1ms)  COMMIT
Redirected to http://server.ip/
Completed 302 Found in 135.6ms (ActiveRecord: 0.0ms)
Started GET "/" for my.ip at 2014-10-14 13:27:51 +0200
Processing by DashboardController#index as HTML
User Load (0.4ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 1 LIMIT 1
server.ip  Rendered dashboard/index.html.erb within layouts/application (2.5ms)
Rendered application/_header.html.slim (57.6ms)
Rendered application/_sidebar.html.erb (48.1ms)
Rendered application/_page_header.html.slim (2.0ms)
Rendered application/_flash_messages.html.erb (0.5ms)
Rendered application/_footer.html.erb (0.8ms)
Completed 200 OK in 137.5ms (Views: 122.9ms | ActiveRecord: 5.1ms)

Safari 사용 :

Started POST "/user/sign_in" for my.ip at 2014-10-14 13:27:58 +0200
Processing by Devise::SessionsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"TWKhSxus5q46H9sZdEvMnzD52r0zA5phw/Pv7K+NKuY=", "user"=>{"email"=>"[email protected]", "password"=>"[FILTERED]", "remember_me"=>"0"}}
User Load (0.4ms)  SELECT `users`.* FROM `users` WHERE `users`.`email` = '[email protected]' LIMIT 1
(0.1ms)  BEGIN
(0.3ms)  UPDATE `users` SET `last_sign_in_at` = '2014-10-14 11:27:51', `current_sign_in_at` = '2014-10-14 11:27:58', `sign_in_count` = 53, `updated_at` = '2014-10-14 11:27:58' WHERE `users`.`type` IN ('User::Admin') AND `users`.`id` = 1
(24.8ms)  COMMIT
Redirected to http://server.ip/
Completed 302 Found in 138.2ms (ActiveRecord: 0.0ms)
Started GET "/" for my.ip at 2014-10-14 13:27:58 +0200
Processing by DashboardController#index as HTML
Completed 401 Unauthorized in 1.2ms
Started GET "/user/sign_in" for my.ip at 2014-10-14 13:27:58 +0200
Processing by Devise::SessionsController#new as HTML
Rendered application/_field_errors.html.erb (0.0ms)
Rendered application/_field_errors.html.erb (0.0ms)
Rendered devise/sessions/new.html.erb within layouts/devise (2.2ms)
Completed 200 OK in 5.2ms (Views: 3.7ms | ActiveRecord: 0.0ms)
Brcebn

문제 해결됨. 내 앱에서 오는 것이 아니라 DNS 리디렉션에서 나온 것입니다. 테스트를 위해 간단한 웹 리디렉션을 넣었고 DNS 리디렉션을 추가하는 것을 잊었습니다.

이제 모든 것이 완벽하게 작동합니다.

다른 사람에게 도움이되기를 바랍니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Safari의 iframe : 리소스를로드하지 못했습니다.

분류에서Dev

Safari의 iframe : 리소스를로드하지 못했습니다.

분류에서Dev

JS 파일을 찾을 수 없음-리소스를로드하지 못했습니다. 서버가 404 () 상태로 응답했습니다.

분류에서Dev

COMPASS 리소스를로드하지 못했습니다. 서버가 404 (찾을 수 없음) 상태로 응답했습니다.

분류에서Dev

Angular2 리소스를로드하지 못했습니다 : 서버가 404 (찾을 수 없음) 상태로 응답했습니다.

분류에서Dev

Angular 2-리소스를로드하지 못했습니다. 서버가 404 (찾을 수 없음) 상태로 응답했습니다.

분류에서Dev

CKAN : 데이터 저장소에 업로드하지 못했습니다. 리소스가 너무 커서 다운로드 할 수 없습니다.

분류에서Dev

401 보호되지 않은 리소스에 대한 권한이 없습니다.

분류에서Dev

서버 프로토콜을 가져 오지 못했습니다. 이 서버에 그러한 리소스가 없습니다.

분류에서Dev

AngularJS 프로젝트에서 리소스를로드하지 못했습니다.

분류에서Dev

데이터 소스 SQLite에 연결하지 못했습니다.

분류에서Dev

Node JS에서 리소스를로드하지 못했습니다.

분류에서Dev

AWS Amplify-CognitoIdentityCredentials는 다음을 수행 할 권한이 없습니다. 리소스에 대한 sts : AssumeRole

분류에서Dev

금지됨,이 리소스에 액세스 할 수있는 권한이 없습니다.

분류에서Dev

Docker : 금지됨이 리소스에 액세스 할 수있는 권한이 없습니다.

분류에서Dev

Mir에 연결하지 못했습니다. 서버 소켓에 연결하지 못했습니다. 해당 파일 또는 디렉터리가 없습니다.

분류에서Dev

Mir에 연결하지 못했습니다. 서버 소켓에 연결하지 못했습니다. 해당 파일 또는 디렉터리가 없습니다.

분류에서Dev

wakelock에 권한이 없지만 매니페스트에 설정했습니다.

분류에서Dev

금지됨이 리소스에 액세스 할 수있는 권한이 없습니다. .htaccess가 요청을 리디렉션하지 않습니다.

분류에서Dev

안녕하세요 안드로이드 책 에서이 코드 스 니펫을 보았지만 이해하지 못했습니다.

분류에서Dev

백본 jsffidle이 외부 리소스를로드하지 못했습니다.

분류에서Dev

sysfs에서 / dev 항목을 만들지 못했습니다. 해당 장치 또는 주소가 없습니다.

분류에서Dev

리소스 노드 js 애플리케이션을로드하지 못했습니다.

분류에서Dev

ant : jar의 리소스를 찾을 수 없습니다. 작업 또는 유형 클래스 경로를 만들지 못했습니다.

분류에서Dev

Chrome에서만 오류 : XMLHttpRequest가 리소스를로드하지 못했습니다.

분류에서Dev

플레이어 빌드 오류 : CommandInvokationFailure : Unity3D에서 Android 용으로 빌드 할 때 리소스를 다시 패키징하지 못했습니다.

분류에서Dev

Api Gateway의 AWS 리소스 정책 : anonymous는 명시 적 거부가있는 리소스에서 호출을 수행 할 권한이 없습니다.

분류에서Dev

'fopen (/ tmp / ...)'메시지가있는 SwiftMailer 'ErrorException'에서 스트림을 열지 못했습니다. 권한이 거부되었습니다.

분류에서Dev

나는 아래 프로그램에서 angularjs를 사용하여 PHP에서 작업하고 있습니다. 아약스 호출에서 응답을 얻지 못했습니다. 아래 코드에서 잘못된 점을 얻지 못했습니다.

Related 관련 기사

  1. 1

    Safari의 iframe : 리소스를로드하지 못했습니다.

  2. 2

    Safari의 iframe : 리소스를로드하지 못했습니다.

  3. 3

    JS 파일을 찾을 수 없음-리소스를로드하지 못했습니다. 서버가 404 () 상태로 응답했습니다.

  4. 4

    COMPASS 리소스를로드하지 못했습니다. 서버가 404 (찾을 수 없음) 상태로 응답했습니다.

  5. 5

    Angular2 리소스를로드하지 못했습니다 : 서버가 404 (찾을 수 없음) 상태로 응답했습니다.

  6. 6

    Angular 2-리소스를로드하지 못했습니다. 서버가 404 (찾을 수 없음) 상태로 응답했습니다.

  7. 7

    CKAN : 데이터 저장소에 업로드하지 못했습니다. 리소스가 너무 커서 다운로드 할 수 없습니다.

  8. 8

    401 보호되지 않은 리소스에 대한 권한이 없습니다.

  9. 9

    서버 프로토콜을 가져 오지 못했습니다. 이 서버에 그러한 리소스가 없습니다.

  10. 10

    AngularJS 프로젝트에서 리소스를로드하지 못했습니다.

  11. 11

    데이터 소스 SQLite에 연결하지 못했습니다.

  12. 12

    Node JS에서 리소스를로드하지 못했습니다.

  13. 13

    AWS Amplify-CognitoIdentityCredentials는 다음을 수행 할 권한이 없습니다. 리소스에 대한 sts : AssumeRole

  14. 14

    금지됨,이 리소스에 액세스 할 수있는 권한이 없습니다.

  15. 15

    Docker : 금지됨이 리소스에 액세스 할 수있는 권한이 없습니다.

  16. 16

    Mir에 연결하지 못했습니다. 서버 소켓에 연결하지 못했습니다. 해당 파일 또는 디렉터리가 없습니다.

  17. 17

    Mir에 연결하지 못했습니다. 서버 소켓에 연결하지 못했습니다. 해당 파일 또는 디렉터리가 없습니다.

  18. 18

    wakelock에 권한이 없지만 매니페스트에 설정했습니다.

  19. 19

    금지됨이 리소스에 액세스 할 수있는 권한이 없습니다. .htaccess가 요청을 리디렉션하지 않습니다.

  20. 20

    안녕하세요 안드로이드 책 에서이 코드 스 니펫을 보았지만 이해하지 못했습니다.

  21. 21

    백본 jsffidle이 외부 리소스를로드하지 못했습니다.

  22. 22

    sysfs에서 / dev 항목을 만들지 못했습니다. 해당 장치 또는 주소가 없습니다.

  23. 23

    리소스 노드 js 애플리케이션을로드하지 못했습니다.

  24. 24

    ant : jar의 리소스를 찾을 수 없습니다. 작업 또는 유형 클래스 경로를 만들지 못했습니다.

  25. 25

    Chrome에서만 오류 : XMLHttpRequest가 리소스를로드하지 못했습니다.

  26. 26

    플레이어 빌드 오류 : CommandInvokationFailure : Unity3D에서 Android 용으로 빌드 할 때 리소스를 다시 패키징하지 못했습니다.

  27. 27

    Api Gateway의 AWS 리소스 정책 : anonymous는 명시 적 거부가있는 리소스에서 호출을 수행 할 권한이 없습니다.

  28. 28

    'fopen (/ tmp / ...)'메시지가있는 SwiftMailer 'ErrorException'에서 스트림을 열지 못했습니다. 권한이 거부되었습니다.

  29. 29

    나는 아래 프로그램에서 angularjs를 사용하여 PHP에서 작업하고 있습니다. 아약스 호출에서 응답을 얻지 못했습니다. 아래 코드에서 잘못된 점을 얻지 못했습니다.

뜨겁다태그

보관