찾다

 >  Q&A  >  본문

nginx - Apple 장치는 PHP 페이지에 액세스할 수 없지만 HTML 정적 리소스에는 액세스할 수 있습니다.

[원래 질문: iOS API 링크가 시간 초과를 유지함]

저는 API 개발자이며, 온라인으로 API를 테스트하는데 문제가 없습니다.

그런데 IOS 측 개발자가 NSURLCONNECTION 요청이 시간 초과로 인해 응답을 받을 수 없다는 오류를 보고했습니다.

그리고 그는 다른 https RestAPI를 요청할 때 응답을 받을 수 있습니다.

죄송합니다. 이 문제는 서버 문제인가요, 아니면 IOS 개발자 문제인가요?

[추가 설명]

다시 확인해 보니 Safari에서는 이 웹사이트를 열 수 없지만 Chrome에서는 열 수 있었습니다.

서버에 ping을 보낼 수 있는데 이유가 무엇인가요?

[추가설명]

최근 발견된 문제:
https://www.demo.com/index2.php는 접속할 수 없지만 https://www.demo.com/index2.html은 접속할 수 있습니다

내 서버 구성은 lanmp, nginx 프록시-아파치입니다

nginx에 구성 오류가 있나요? 여러 정보를 확인해 보니 http2 때문이라는 말도 있고 SSL 때문이라는 말도 있습니다.

[보충]

Apache와 nginx 로그가 모두 있습니다. 이는 관련 웹사이트 로그의 일부입니다

apache: 모든 요청은 200입니다(iPhone 사파리 사용)

nginx: 그것도 200

大家讲道理大家讲道理2776일 전792

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

  • 我想大声告诉你

    我想大声告诉你2017-05-31 10:36:34

    [거의 반나절을 검색한 끝에 드디어 해결책을 찾았습니다.]

    문제 원인: nginx의 프록시 구성 문제로 인해 HTTP2 요청이 올바르게 응답을 받지 못합니다.

    이것은 Apache에 대한 nginx 프록시 문제입니다. nginx1.9+.x/apache2.4의 프록시에는 모두 이 문제가 있습니다.

    해결책은 nginx 프록시를 구성하는 것입니다:

    proxy_hide_header 업그레이드;

    이 문제는 nginx에서 논의되었습니다: https://trac.nginx.org/nginx/...

    【"업그레이드" 헤더는 h2를 통해 프록시 설정되어서는 안 됩니다】

    회신하다
    0
  • 漂亮男人

    漂亮男人2017-05-31 10:36:34

    https가 인증을 위해 결제가 필요한 종류가 아닌 이상 iOS에 인증서를 제공할 필요가 없습니다.
    또한, 다른 단말기에서 가능하다면 일반적으로 서버측 문제는 아닙니다.
    하지만 Tomcat 구성에 문제가 있는 것 같습니다.

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