nginx 역방향 에이전트 + 방향 바 꾸 기
2100 단어 nginx 방향 변경
지난번 app 개편 에서 우 리 는 app 에 대응 하 는 역 외 프로젝트 를 재 구성 하 는 동시에 도 메 인 이름 에 대해 통 일 된 계획 을 실시 했다. 그러나 회사 직원 의 조정 으로 인해 안 드 로 이 드 app 버 전이 하나 뒤떨어 졌 다. 이 로 인해 인터페이스 가 출시 된 후에 안 드 로 이 드 의 공유 주 소 는 예전 의 것 이 고 많은 기능 이 공 유 된 후에 데이터 가 없 으 며 다시 apk 를 보 내지 않 는 상황 에서나 는 nginx 의 301 을 이용 하여 이 주 소 를 영구적 으로 바 꿀 생각 을 했다.
해결 방안:
nginx 를 엽 니 다. 이전에 역방향 대 리 를 설정 하 였 습 니 다. 여기 서 중점 설명 을 하지 않 습 니 다.
설정 은 다음 과 같 습 니 다.
이 설정 변경
server {
listen 80;
server_name xx.yy.com;
location / {
proxy_pass http://10.10.10.136:80;
}
access_log /var/log/nginx/xx.yy.com.access.log;
error_log /var/log/nginx/xx.yy.com.error.log info;
}
server {
listen 80;
server_name xx.yy.com;
location / {
proxy_pass http://10.10.10.136:80;
}
if ($request_filename ~* a/fx/envelope.html) {
rewrite ^/(.*)$ http://zz.yy.com/a/jsp/fxf/share/envelope.jsp?$args? permanent;
}
if ($request_filename ~* ffyy/fx/replyLetter.html) {
rewrite ^/(.*)$ http://zz.yy.com/a/jsp/fxf/share/replyLetter.jsp?$args? permanent;
}
access_log /var/log/nginx/xx.yy.com.access.log;
} error_log /var/log/nginx/xx.yy.com.error.log info;
1. 여 기 는 $request 사용filename 현재 요청 한 파일 경로 이름 을 가 져 옵 니 다. 인터넷 에 서 는 대부분 $host 를 사용 합 니 다. 다른 요청 은 방향 을 바 꾸 지 않 기 때 문 입 니 다. $host 를 사용 하면 xx. yy. com 을 가 져 옵 니 다. 여기 에는 a / fx / envelope. html 또는 a / fx / reply Letter. html 가 포함 되 어 있 지 않 기 때문에 if 가 잘못 되 었 습 니 다.
2.rewrite ^/(.*)$ http://xx.yy.com/a/jsp/fxf/share/envelope.jsp?$args? permanent; 이 말 중 에 첫 번 째?우리 스스로 url 에 참 을 가 진 문자 입 니 다. 보류 할 필요 가 없습니다. 두 번 째?nginx 가 두 번 의 매개 변수 문자열 을 처리 하지 않도록 추가 한 문자 입 니 다.
3. 서버 에 있 는 프로필 을 덮어 쓰 고 nginx - s reload 명령 을 실행 하면 nginx 명령 이 적 용 됩 니 다.
주: 수정 이 완료 되 지 않 았 을 수도 있 습 니 다. 제 것 은 수정 이 끝 난 후에 연결 을 새로 고침 하 는 것 입 니 다. 직접 열 었 는 지 오류 연결 이 되 었 는 지 고민 할 때 문 제 를 찾 으 면서 새로 고침 을 하 는 것 입 니 다. 약 2 분 이 지나 면 정확 한 결과 가 나 옵 니 다. 제 설정 오류 가 아 닙 니 다. 캐 시 나 지연 일 수도 있 습 니 다. 이것 은 깊이 파고 들 지 않 은 원인 입 니 다.