2017-01-16 1 views
0

나는 정말 대답하고 싶은 질문을 열려고하고있다. 외부 사용자가 내 응용 프로그램의 특정 부분에 액세스 할 수있는 URL을 원합니다.응용 프로그램 코드 내에서 응용 프로그램이 액세스하는 서버의 가장 바깥 쪽 포트를 알 수 있습니까?

내 서버의 설정에서 Nginx를 역방향 프록시로 사용하므로 내 응용 프로그램이 포트 9000에 있도록 구성되어 있습니다. 그러나 포트에 액세스 할 수 없기 때문에 사용자를 지정할 수 없습니다. 사용자는 포트 8080에 액세스 할 수 있습니다. 그러나 이것은 내 시스템 구성의 일부이며 변경할 수 있습니다 (나는 생각합니다). 또한 개발 단계에서 생산 단계로 변경됩니다. 그래서, 가능하다면 이것을 하드 코딩하는 것을 피하고 싶습니다.

그럼 내 질문에, 어떻게 든, 동적으로, 들어오는 요청이 수신되는 "가장 바깥 쪽"포트를 말할 수 있습니까? Nginx에서 머리글을 전달할 가능성이 있습니까? 나는 X-Forwarded-For를 생각하고있다. 클라이언트가 서버에 접속하는 IP 주소가 아닌, 어떤 URL을 클라이언트가 (서버에) 도달하기 위해 접촉했는지 알고 싶다. 이것이 가능한가?

답변

1

$server_port 변수는 클라이언트가 연결된 포트를 보유합니다.

+0

쿨, 고마워! 나는 이것을 사용하는 것으로 바꿀 것이라고 생각한다. 난 그냥 내가 찌르다에 내 nginx 설정 내부 헤더로 사용하고 있던 포트를 하드 코드. 나는 내가 시스템 설정을 바꿀 때 이것을 볼 것이라고 생각했다. 코드에없는 한 - 어디서 볼 수 없는지. 개발 중에는 문제가되지 않았습니다. –