2013-09-21 5 views
3

내 nginx + 바람둥이 7 역방향 프록시 설정 작업에 문제가 있습니다.바람둥이에 대한 Nginx 역방향 프록시

기본적으로 https://192.168.10.101은 업스트림 클러스터/webapp /의 콘텐츠를 제공하고 싶습니다. 그러나 내 응용 프로그램에서 404 페이지가 나타납니다.

뭐가 잘못 될지에 대한 힌트를 크게 주시면 감사하겠습니다.

구성은 다음과 같습니다.

server { 

      server_name 192.168.10.101; 
      access_log /var/log/nginx/mysite-access.log; 
      listen 443; 
      ssl on; 
      ssl_certificate /etc/nginx/ssl/mysite.crt; 
      ssl_certificate_key /etc/nginx/ssl/private/mysite_pvt.key; 

       location/{ 
         proxy_redirect off; 
         proxy_pass  https://tccluster/webapp/; 
         rewrite_log  on; 

         proxy_set_header Host    $host; 
         proxy_set_header X-Real-IP  $remote_addr; 
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
         proxy_max_temp_file_size 0; 

       } 
} 

upstream tccluster { 
       server 192.168.56.103:8443; 
       server 192.168.56.104:8443; 
} 

답변

6

마지막으로 알아 냈습니다. 응용 프로그램은 nginx를했다 /webapp/webapp/index.html에 대한 요청이 404

내가 재 작성 규칙을

location/{ 
       proxy_pass https://backend/webapp/; 
       proxy_redirect off; 
       proxy_set_header Host    $host; 
       proxy_set_header X-Real-IP  $remote_addr; 
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
       rewrite ^/webapp/(.*)$ /$1 last; 
} 

을 추가 그리고 이것은 지금 작동하는 것 같군 수 있도록 도와주는 만든 /webapp/index.html로 리디렉션 필터를 가지고있다!

+1

주 후행 슬래시를'proxy_pass' 지시에. 그것 없이는, 당신은 여전히 ​​404를 얻게 될 것입니다. –

+0

내 하루를 구했습니다. 감사. 간략한 설명은 지침이 정확히 무엇을하는 것이 좋을까요. 그것은 단지 그룹 일치를 가진 정규 표현식처럼 보일지라도. '마지막'이 무엇을 의미하는지 확실하지 않습니다. –

2

전체의 nginx의 설정은 바람둥이 상황에 전달할 :

server { 
    listen 80;   # e.g., listen 192.168.1.1:80; In most cases *:80 is a good idea 
    listen [::]:80; 
    server_name tomcat-context.domain.com ; 

    # individual nginx logs for this vhost 
    access_log /var/log/nginx/tomcat-context_domain_access.log main; 
    error_log /var/log/nginx/tomcat-context_domain_error.log; 



    error_page 500 502 503 504 /50x.html; 
    location = /50x.html { 
     root /usr/share/nginx/www; 
    } 
    location/{ 
       proxy_pass http://127.0.0.1:10080/tomcat-context/; 
       proxy_redirect off; 
       proxy_set_header Host    $host; 
       proxy_set_header X-Real-IP  $remote_addr; 
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
       rewrite ^/tomcat-context/(.*)$ /$1 last; 
    } 
    location /tomcat-context { 
     rewrite ^/tomcat-context(.*)$ $1 redirect; 
    } 
} 
관련 문제