Safari에서 캐시 된 리디렉션을 완전히 플러시하는 방법 그것을 다시

웹 기반 제어판이있는 장치가 있는데 실수로 일부 http페이지가 https작동하지 않더라도 실수로 모든 페이지를 (으) 로 리디렉션하도록 설정했습니다 https. 이후 로이 문제를 해결했지만 Safari는 리디렉션을 암기하고 잊어 버리는 대신 끊임없이 잘못된 https주소 로 리디렉션하려고 합니다.

난 이미 삭제, 사파리 닫은 ~/Library/Caches/com.apple.Safari/~/Library/Cookies/HSTS.plist하지만 난 그것을 다시 열 때 여전히 리디렉션을 기억 것으로 보인다.

Safari가이 정보를 어디에 저장할 수 있습니까? Firefox 또는 Chrome을 통해 올바른 페이지에 액세스 할 수 있으므로 시스템 차원의 서비스가 아니거나 다른 브라우저에서 사용하지 않는 페이지 일 수 있습니다.

불행히도 웹 패널은 장치에서 제공되기 때문에 헤더를 조정하거나 올바른 URL로 다시 리디렉션을 설정할 수 있다고 생각하지 않습니다. 이는 다른 유사한 질문에서 제공되는 옵션 인 것 같습니다. 데이터를 저장하여 화재로 파괴 할 수 있습니다.



답변

퀀 타의 답변을 기반으로 :

내가 사용 할 수 없습니다 launchctl unload /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist내가 가지고 있기 때문에 시스템 무결성 보호 를 사용할 수 :

$ launchctl unload /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist
/System/Library/LaunchAgents/com.apple.nsurlstoraged.plist: Operation not permitted while System Integrity Protection is engaged

그러나 다음을 수행하여 해결할 수있었습니다.

  • killall nsurlstoraged(사용자의 nsurlstoraged 프로세스를 중지합니다. 실제로 실행 sudo killall nsurlstoraged했지만 캐시가 사용자 라이브러리 폴더에 있기 때문에 시스템의 nsurlstoraged도 중지 할 필요가 없다고 생각합니다)
  • rm -f ~/Library/Cookies/HSTS.plist (HSTS 캐시 삭제)
  • launchctl start /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist (레스토랑 nsurlstoraged)

답변

Safari 환경 설정에서 개발 메뉴를 활성화하면 캐시를 지울 수 있습니다 (CMD + ALT + E).

Safari의 개인 윈도우 (또는 다른 웹 브라우저)에서 장비의 제어판을 여는 것이 올바르게 작동하는지 확인할 수 있습니까?


답변

@Haravikk의 답변을 기반으로 : /apple//a/267783/62907

~ / Library / Cookies / HSTS.plist 파일을 처리하는 프로세스에 대한 아이디어가 있습니까?

fs_usage 가 도움이 될 수 있습니다.

❯❯❯❯ sudo fs_usage | grep HSTS
16:11:03    HFS_update      /Users/quanta/Library/Cookies/HSTS.plist                                         0.000238   nsurlstorage
16:11:03    HFS_update      /Users/quanta/Library/Cookies/HSTS.plist                                         0.000009   nsurlstorage
16:11:03  open              /Users/quanta/Library/Cookies/HSTS.plist                                         0.016268   nsurlstorage
16:11:03    HFS_update      /Users/quanta/Library/Cookies/HSTS.plist                                         0.000008   nsurlstorage
16:11:03    HFS_update      /Users/quanta/Library/Cookies/HSTS.plist                                         0.000003   nsurlstorage
16:11:03  access            /Users/quanta/Library/Cookies/HSTS.plist                                         0.000011   dbfseventsd
16:11:04  lstat64           /Users/quanta/Library/Cookies/HSTS.plist                                         0.000008   fseventsd
16:11:08    HFS_update      /Users/quanta/Library/Cookies/HSTS.plist                                         0.000006   nsurlstorage
16:11:08    HFS_update      /Users/quanta/Library/Cookies/HSTS.plist                                         0.000002   nsurlstorage
16:11:08  open              /Users/quanta/Library/Cookies/HSTS.plist                                         0.000144   nsurlstorage
16:11:08    HFS_update      /Users/quanta/Library/Cookies/HSTS.plist                                         0.000002   nsurlstorage
16:11:08    HFS_update      /Users/quanta/Library/Cookies/HSTS.plist                                         0.000003   nsurlstorage
16:11:08  access            /Users/quanta/Library/Cookies/HSTS.plist                                         0.000021   dbfseventsd
16:11:09  lstat64           /Users/quanta/Library/Cookies/HSTS.plist                                         0.000042   fseventsd

그래서 우리는 할 수있다:

launchctl unload /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist

그때:

rm -f ~/Library/Cookies/HSTS.plist

다시 시도하십시오.


답변

curl장치에 명령 줄을 사용 하여 리디렉션을 수행하지 않는지 확인 하면 좋은 결과를 얻을 수 있습니다 . Safari에는 실제로 주소를 다시 쓰는 엔진이 없습니다. 특히 기록, 쿠키 등을 제거하기 위해 개인 탐색으로 이동하는 경우 …

사파리를 충분히 청소했는지 확실하지 않은 경우, 시스템 환경 설정을 열고 Mac에서 클린 / 새 사용자 계정을 만들어 테스트하고 일반 사용자에서 로그 아웃 한 후 완전히 깨끗한 버전의 Safari에서 사이트를 테스트 할 수도 있습니다 .


답변

따라서 문제에 대한 해결 방법을 찾았지만 실제 질문에 대한 결정적인 대답은 아니므로 더 많은 정보를 찾을 때까지 표시하지 않습니다.

파일 ~/Library/Cookies/HSTS.plist이 실제로 의심의 여지가있는 문제의 원인 이라고 밝혀 졌지만 영향을받는 사용자 계정에서 파일 을 삭제하면 Safari가 닫힌 상태에서도 알 수없는 시간 후에 다시 생성되어 문제가있는 것으로 완료됩니다. 잘못된 리디렉션을 강제 한 항목입니다.

그래서 내 해결책은 다음과 같습니다.

  1. Mac에 하나 이상의 다른 사용자 계정이 있는지 확인하십시오 (없는 경우).
  2. 영향을받는 사용자 계정에서 로그 아웃하십시오.
  3. 다른 사용자 계정으로 로그인하십시오 (제한 사항에 따라 게스트 계정으로는 충분하지 않을 수 있음).
  4. 영향을받는 사용자 계정의 짧은 이름을 찾으십시오. 모르는 경우 확인하는 가장 좋은 방법은 시스템 환경 설정-> 사용자를 보는 것입니다. 일반적으로 이름이 소문자이며 공백이없는 경우, 이름이 “John Smith”인 경우 짧은 이름은 “johnsmith”일 수 있습니다.
  5. 터미널에서 창을 열고 su shortname“shortname”을 영향을받는 사용자 계정의 짧은 이름으로 바꿉니다. Enter 키를 누르고 프롬프트가 표시되면 영향을받는 계정의 비밀번호를 입력하십시오.
  6. 다음 명령 rm ~/Library/Cookies/HSTS.plist을 입력하고 Enter 키를 누르면 HSTS 저장 파일이 삭제됩니다.
  7. 마지막 exit으로을 입력하고 Enter 키를 누른 다음 터미널을 닫습니다.

이제 영향을받는 사용자 계정으로 다시 로그인 할 수 있으며 문제가있는 HSTS 리디렉션을 제대로 수행해야합니다.

이제 이것이 유용한 해결 방법을 제공하지만 영향을받는 계정에서 HSTS.plist 파일을 삭제하지 못한 이유를 알고 싶습니다. 다시 생성된다는 사실은 일부 백그라운드 프로세스가이를 담당한다는 것을 의미합니다. 즉, 해당 프로세스를 중지하고 파일을 삭제 한 다음 프로세스를 다시 시작하여 영향을받는 사용자 계정에서 파일을 삭제할 수 있어야합니다.

누구나 ~/Library/Cookies/HSTS.plist파일 을 처리하는 프로세스에 대한 아이디어가 있습니까? 일단 문제를보다 간단하게 해결하는 것이 가능하다는 것을 알게되면.


답변

여기 아이디어가 있습니다!

https 요청을 http로 다시 리디렉션하도록 서버를 설정하여 리디렉션을 취소 할 수 없다고 말합니다 (관리자 권한이 없으므로).

그러나이 리버스 리디렉션을 제공하는 다른 서버에 연결하도록 Safari를 속이는 경우 어떻게해야 합니까?

로컬 컴퓨터의 /etc/hosts파일 에서이를 설정할 수 있습니다.

예를 들어 현재 캐시 된 리디렉션이에서 http://example.com로 가정 해 보겠습니다 https://example.com.

이제 https에서 http로 다시 리디렉션되는 전 세계 모든 서버에서 요청할 수있는 URL을 설정하거나 식별하십시오. 서버의 주소가 있다고 가정 해 봅시다 https://redirecting.example.com.

그런 다음의 IP 주소를 찾으십시오 redirecting.example.com. 터미널에서 다음과 같이 할 수 있습니다 :

host redirecting.example.com

다음과 같은 결과가 나타납니다.

redirecting.example.com has address 69.69.69.69

이제 / etc / hosts 파일을 열고 다음과 같이 redirecting.example.com의 IP 주소에서 example.com에 대한 요청을 가리키는 새 줄을 추가하십시오.

### point host example.com at the ip address of redirecting.example.com
69.69.69.69 example.com

다음과 같이 변경 사항을 저장하고 터미널에서 DNS 캐시를 지우십시오.

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder; say DNS cache flushed

그런 다음 Safari https://example.com에서 응답 요청 은으로 다시 리디렉션되어야합니다. http://example.com이 시점에서 6 개월 전의 Safari 리디렉션을 덮어 씁니다.

완료되면 / etc / hosts 파일에 추가 한 라인을 제거하고 DNS 캐시를 다시 플러시하십시오.


답변

이 모든 솔루션을 시도한 후에 저에게 효과적이었습니다.

  • Safari 기록에서 도메인의 모든 인스턴스 제거
  • 사파리 종료
  • 지우다 ~/Library/Cookies/HSTS.plist
  • 재시작