nginx 리버스 프록시가 http 요청을 전달하지 않습니까?
天蓬老师
天蓬老师 2017-05-16 17:07:08
0
2
528

개발 단계에서 프런트엔드 서버는 localhost:8080이고 백엔드 서버는 localhost:8088이며 이는 크로스 도메인을 포함하므로 nginx는 http:/로 시작하는 모든 http 요청을 변환하는 역방향 프록시로 사용됩니다. /localhost:8080/api를 http로: //localhost:8088/api, nginx 구성은 다음과 같습니다

결과는 항상 404입니다

Postman을 사용하여 백엔드 인터페이스를 테스트하면 정상으로 표시됩니다

작업 관리자를 확인하세요. nginx가 실행 중입니다

nginx의 접속 로그에는 기록이 없으며, 오류 로그도 없습니다. 다음은 오류 로그의 마지막 내용입니다

무슨 문제인지 모르겠습니다

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

모든 응답(2)
曾经蜡笔没有小新

/api가 하나 적습니다/api

根据题主的要求
需要把 http://localhost:8080/api => http://localhost:8088/api

但是

location ^~ /api/ {
    proxy_pass http://localhost:8088/;
    ...
}

实现的是 http://localhost:8080/api => http://localhost:8088/
所以需要访问 http://localhost:8080/api/api
제목의 요청에 따라

http://localhost:8080/api => http://localhost:8088/api를 넣어야 합니다

하지만🎜 으아악 🎜구현은 http://localhost:8080/api => http://localhost:8088/🎜따라서 http:/에 액세스해야 합니다. /localhost :8080/api/api를 사용하여 실제 엔드포인트에 액세스합니다. 🎜로 변경하세요. 으아악 🎜바로 그거야🎜
黄舟

서버 이름이 127.0.0.1이 아닌가요?
localhost不一定就代表127.0.0.1그렇죠?

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!