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


27

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

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

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

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



~/Library/Safari폴더를 휴지통으로 옮기고 이동 하여 문제가 해결되는지 확인 했습니까? 그렇다면, 범인 파일을 찾을 때까지 폴더 안의 항목을 실험 ​​해 볼 수 있습니다.
흥미롭게도

리디렉션을 어떻게 설정 했습니까? 확장 기능이 있거나 Safari에 설정이 있습니까?
owlswipe

비공개 브라우징 창에서 리디렉션이 계속 발생합니까?
AllInOne

@AllInOne 흥미로운 아이디어이지만, 불행히도 여전히 비공개 브라우징에서 발생합니다.
하라 빅

답변:


29

퀀 타의 답변을 기반으로 :

내가 사용 할 수 없습니다 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)

이 답변을 충분히지지 할 수 없습니다. 적어도 Sierra에서는 HSTS.plist파일을 제거해도 문제가 해결되지 않지만 계속 다시 빌드되므로 문제가 해결되지 않습니다. 그러나, 살해 후 nsurlstoraged HSTS에게 파일 속임수를 썼는지를 제거!
nvahalik

1
감사의 말을 전했지만, 이렇게했습니다. 1. Safari를 닫습니다. 2. ~/Library/Cookies/HSTS.plisthttp에서 원하는 사이트의 항목을 편집 하고 제거합니다. 3. 컴퓨터를 다시 시작합니다
Jason S

예, 다시 시작하면 다른 모든 답변이 제공하는 조언이지만 20 개의 앱을 열면 nsurlstoraged 프로세스를 다시 시작하는 것이 훨씬 편리하고 빠릅니다. 감사합니다 @nvahalik!
axello

2
Mojave 업데이트 : 시스템 환경 설정 => 보안 및 개인 정보 => 개인 정보에서 Terminal.app에 대한 전체 디스크 액세스 권한을 부여하지 않으면 명령 rm -f ~/Library/Cookies/HSTS.plist이 반환 Operation not permitted됩니다 . 그렇지 않으면 솔루션이 완벽하게 작동했습니다! 감사!
joehanna

@ nvahalik 무슨 일이 일어나고 있는지 파일이 재 구축되는 것보다 더 이상해 보인다; 되지도 rm ~/Library/Cookies/HSTS.plist ; touch ~/Library/Cookies/HSTS.plist ; chmod guo-wrx ~/Library/Cookies/HSTS.plist나에게 도움이,하지만 killall nsurlstoraged했다.
플래시 셰리 던

6

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

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


불행하게도 개발 메뉴 옵션은 경로 재 지정을 지우지 않고 Safari를 닫거나 수동으로 삭제하지 ~/Library/Caches/com.apple.Safari않으므로 경로 재 지정을 다른 곳에 저장해야합니다. HSTS는 실수로 활성화했지만 이미 삭제 한 기능 ~/Library/Cookies/HSTS.plist입니다.
Haravikk

1
또한이 답변이 해결되지 않음을 확인할 수 있습니다
malhal

이것은 나를 위해 일했다
Matthew Cawley

5

@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

다시 시도하십시오.


감사! 이것은 나를 위해 일했습니다. HSTS.plist를 여러 번 삭제하고 (사파리 전후 종료 / 다시 시작) 항상 이전과 정확히 동일한 내용으로 다시 작성되었습니다. 먼저 nsurlstoraged를 언로드 한 다음 plist를 삭제하고 nsurlstoraged를 다시 시작하면 깨끗한 plist를 얻었습니다.
lucianf

2
Safari를 종료했다가 다시 시작해야한다고 언급하여이를 개선 할 수 있습니다. 또한 HSTS.plist를 삭제하는 대신 문제 도메인 키를 삭제했습니다.
malhal

3

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

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


리디렉션이 없습니다 (연결하려는 기능은 HTTPS를 전혀 지원하지 않으므로 전체 장치에 HSTS를 사용하는 것이 끔찍한 실수입니다). 다른 사용자 계정과 브라우저에서 잘 연결할 수
있으므로이

"Safari에는 실제로 주소를 다시 쓸 엔진이 없습니다."— 현재 랩톱에서 호스팅되는 웹 사이트에서 Safari에서 발생하는 것과 동일한 문제가 발생했습니다 (Firefox, Chrome 및 Private Browsing 창과 함께) 동일한 사용자 계정의 Safari)은 사이트를 정상적으로로드합니다. 그래서해야 뭔가 사파리 자체와는.
Paul D. Waite

3

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

파일 ~/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파일 을 처리하는 프로세스에 대한 아이디어가 있습니까? 일단 문제를보다 간단하게 해결하는 것이 가능하다는 것을 알게되면.


2

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

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가 계속 사용하도록이 리디렉션이 캐시되는 위치를 알고 싶습니다 (서버에 HSTS가 활성화되어 있지 않고 실수로 간단히 활성화했습니다) ). 그것은 해야한다 어딘가에 저장,하지만 난 곳을 알아낼 수 없습니다.
하라 빅

이것이 실제 문제를 해결할 것으로 기대하기 때문에 이것은 해결 방법이라고 부르는 것이 아닙니다 . 장치를 제어 할 수 없다는 사실 만 해결할 수 있습니다. 그러나 나는 당신에게 들었습니다-캐시 된 설정을 직접 지울 수있는 것이 좋습니다. Safari Technology Preview도 나쁜 동작을 보입니까?
AllInOne

불행히도; Safari 자체에는 문제가 아니라고 생각하지만 실제로 ~/Library/Cookies/HSTS.plist는 범인 이라고 생각되는 일부 macOS 서비스 이지만 영향을받는 계정에서 삭제하면 작동하지 않습니다 (다시 생성됨) 얼마 후 잘못된 리디렉션으로 완료). 그래도 어떤 프로세스가 수행되고 있는지 확실하지 않습니다.
Haravikk

2

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

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

2

새로운 macOS Mojave 10.14 Beta (18A365a)를위한 2 센트

a) 당신 결정적으로 멈출 수 없으며nsurlstoraged , sudo가 있어도 2 초 안에 다시 시작됩니다.

b) "HSTS.plist"를 삭제할 수 없습니다 :

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

당신은 얻을 : 작업이 허용되지 않습니다

c) 시도하더라도

ls -la ~/Library/Cookies/

당신은 얻을 : 작업이 허용되지 않습니다

같은

nano ~/Library/Cookies/HSTS.plist 

(빈 파일 ..)

따라서 확실히 액세스수 없습니다 . (아마 SIP?)

d) 이상하게도 Finder에서 다음 을 삭제할 수 있습니다 .

CMD Shift G "~ / 라이브러리 / 쿠키 /"

여기에 이미지 설명을 입력하십시오

마우스로 삭제할 수 있습니다.

여기에 이미지 설명을 입력하십시오

전자) 더 이상 : 당신은 마우스를 사용하여 바탕 화면으로 이동할 수 있습니다 편집 하고 다시 배치 !

(실제로 말도 안되는 GUI는 sudo보다 강력합니다.)


2

Safari, Firefox 및 Chrome에서도 개발자 사이드 바를 열고 네트워크 탭을 선택하고 cachin g를 비활성화하기 만하면 됩니다.

사물함에서 튜브 모양의 물건은 휴지통 로고 옆의 파란색입니다. 이를 활성화하면 이전 영구 리디렉션을 무시해야합니다. 사파리 비활성화 503 영구 리디렉션

가장 큰 이점은 파일을 엉망으로 만들 필요가 없다는 것입니다. 모든 HTST 항목을 삭제하고 보안상의 이점을 잃을 필요는 없습니다. 또한 여러 브라우저에서 작동합니다.


이것이 매우 유용하지만 영구적 인 솔루션으로 작동하는지 확인할 수 있습니까? 즉, 캐시가 다시 활성화되면 문제가 다시 발생합니까, 아니면 일시적으로 캐시를 비활성화합니까?
하라 빅

1
내 테스트에서 @Haravikk는 대신 새 페이지를로드 할 수있을 때 영구 리디렉션을 사용하여 되 돌리지 않습니다. 개발 창을 닫은 후에도 질문에 대한 답변이 제공되는 경우
luckydonald

1

먼저 메이크업은 반드시 서버가되어 있지 보내는 엄격한-운송 보안 헤더
당신은이 작업을 수행 할 수 있습니다 curl -I( -I단지 헤더를 얻는다)

curl -I http://my-http-domain.com

서버가 Strict-Transport-Security 헤더를 보내는 경우 다음에 사이트에 액세스 할 때 브라우저에서 헤더를 제거해도 아무런 효과가 없습니다. 다시 설정됩니다.

Safari의 Http Secure Transport Security 데이터베이스에서 사이트 제거

  1. 사파리 닫기
  2. 편집 ~/Library/Cookies/HSTS.plist
    http를 통해 액세스하려는 사이트의 항목을 검색하여 제거하고 파일을 저장하십시오.
    • 유효한 항목을 제거 할 필요가 없으므로 제거보다는 편집하는 것이 좋습니다.
    • Xcode를 사용하여 plist 파일을 편집하지만 설치되지 않은 경우 텍스트 편집기를 사용할 수 있습니다.
  3. 컴퓨터를 다시 시작하십시오.
    • 컴퓨터를 다시 시작하는 대신 다시 시작할 수 nsurlstoraged있지만 SIP 로 인해 컴퓨터를 다시 시작하는 것이 더 간단 할 수 있습니다. 다시 시작에 대한 Grant의 답변Quanta의 답변 참조nsurlstoraged

1

Grand Heaslip의 답변에서 대본을 만들었습니다.

#!/bin/sh

osascript -e 'quit app "Safari"'
sleep 2
killall nsurlstoraged
sleep 2
rm -f ~/Library/Cookies/HSTS.plist
launchctl start /System/Library/LaunchAgents/com.apple.nsurlstoraged.plist

정상적으로 사파리를 종료하고 nsurlstoraged를 중지하고 HSTS.plist를 제거한 다음 nsurlstoraged를 다시 시작합니다. 이것은 macOS 10.13.5에서 나를 위해 잘 작동했습니다.


1

Mojave (10.14)를 사용하고 있습니다. HSTS.plist를 제거하기 위해 지금까지 제공된 방법을 시도했습니다. 또한 시스템 환경 설정> 보안 및 개인 정보 보호> 전체 디스크 액세스 목록에 터미널을 추가하여 ~ / Library / Cookies /의 내용을 나열 할 때 "작동이 허용되지 않음"증상을 치료해야했습니다.

그러나 파일을 제거하고 데몬을 다시 시작해도 작동하지 않았습니다. 그래서 Safari를 다시 열어보고 환경 설정, 개인 정보 보호, 웹 사이트 데이터 관리로 이동했습니다. 그런 다음 문제가되는 도메인 이름에 대한 모든 "캐시 쿠키, 로컬 저장소"를 제거했습니다. 그게 내 문제를 해결했다.

HSTS 제거가 필요한지 여부를 알 수 없습니다.


나는 같은 해봤 두 번 다시 부팅,하지만 사파리의 UI뿐만 아니라 나를 위해 일한 사용. 고맙습니다!
Bart Verkoeijen

-1

그런 다음 1 단계 : ~ / Library 폴더로 이동, 2 단계 : ~ / Library / Application Support에서 Safari 폴더 삭제, 3 단계 : ~ / Library / Caches, 4 단계 : Delete ~ /로 아래 폴더 삭제로 이동하십시오. Library / Safari 폴더 PS : 위 작업 중에 Safari를 계속 닫습니다.


1
Ask Different에 대한 답변은 단순한 링크 그 이상이어야합니다. 링크를 포함해도 괜찮지 만 답변에 요약하거나 발췌하십시오. 아이디어는 독립형으로 만드는 것입니다.
nohillside
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.