Nginx 부하 균형 설정 도 메 인 이름과 IP 접근 시 자바 request.getServerName()에서 다른 문제 해결 가 져 오기
대외 개방 포트:192.168.1.100:9005 대외 개방 도 메 인 이름 설정 www.abc.com
tomcat 배치 사이트 1:192.168.1.100:9015
tomcat 배치 사이트 2:192.168.1.100:9025
자바 코드 가 있 습 니 다:request.getServerName() 도 메 인 이름 으로 접근 하 는 사람 도 있 고 IP 로 접근 하 는 사람 도 있 으 니까.
Nginx 에 도 메 인 이름 www.abc.com 액세스 리 트 윗 만 설정 되 어 있 기 때문에 다음 과 같 습 니 다.
http {
include mime.types;
default_type application/octet-stream;
client_max_body_size 50m;
sendfile on;
upstream www.abc.com{
#ip_hash;
server 192.168.1.100:9015;
server 192.168.1.100:9025;
}
server {
listen 9005;
server_name www.abc.com;
location / {
proxy_pass http://www.abc.com;
proxy_hide_header Set-Cookie;
}
}
}
하면,만약,만약... www.abc.com:9005 방문 request.getServerName() www.abc.com 받 기
도 메 인 이름 192.168.1.100:9005 로 접근 하면 request.getServerName() 받 는 것 도 www.abc.com(이것 은 내 가 원 하 는 것 이 아니 라 192.168.1.100 을 받 아야 한다)
한참 동안 코드 를 잘못 쓴 줄 알 았 는데,마지막 으로 Nginx 가 전송 할 때 도 메 인 이름 으로 주소 로 접근 하고 있 었 기 때문에 코드 는 도 메 인 이름 만 얻 을 수 있 었 다.인터넷 에서 찾 아 봤 는데 IP 접근 설정 만 추가 하면 돼 요.
해결 방법 은 nginx.conf 설정 파일 을 수정 하면 됩 니 다. 코드 는 다음 과 같 습 니 다:
http {
include mime.types;
default_type application/octet-stream;
client_max_body_size 50m;
sendfile on;
#domain visit
upstream www.abc.com{
#ip_hash;
server 192.168.1.100:9015;
server 192.168.1.100:9025;
}
server {
listen 9005;
server_name www.abc.com;
location / {
proxy_pass http://www.abc.com;
proxy_hide_header Set-Cookie;
}
}
#ip visit
upstream 192.168.1.100{
#ip_hash;
server 192.168.1.100:9015;
server 192.168.1.100:9025;
}
server {
listen 9005;
server_name 192.168.1.100;
location / {
proxy_pass http://192.168.1.100;
proxy_hide_header Set-Cookie;
}
}
}
,다시 Nginx,다시 방문 하여 테스트 를 진행 하면 됩 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.