在StackExchange的这一边新的。 我一直试图设置一个nginx服务器作为前端http服务器,redirect到networking中的其他服务器(稍后将用于加载平衡,但现在我们只是希望代理工作),
我有以下设置的位置:
location /site/ { proxy_pass http://www.mysite.com:port/site/; 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; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; }
我现在的问题是,它会在第一页(首页)和第二页(login表单)上正确加载所有内容,但是当用户login并进入第三页(仪表板)时,浏览器将无法加载内部dynamic加载的某些页面(想想jsp包含)。
有趣的是,如果我build立了一个去http://www.mysite.com:port的位置,然后通过http://localhost:8080/site/来访问它,它会加载所有内容,login和用户可以使用里面的所有东西,没有问题。
现在,你可以说,“好吧,只要让他们使用它”,但我想隐藏在另一台服务器上的页面的全名。
我怎样才能做到这一点,而没有这些文件返回错误500s?
PS:代理设置为处理JBoss Aplication Server的数据。 (在这里添加这个,因为它可能是JBoss服务器不真正享受名称的代理处理)
我会认为这不是正确传递post / get / session数据? 当用nginx代理玩时,我发现跟踪代理服务器nginx的日志在/ var / log / nginx之间的时间戳,并将它与系统中的日志进行比较,可以find最好的线索。 通常我会发现像重写URL(比如不小心configurationnginx将uri数据传递给_GETvariables而不是传递url raw),或者只是“找不到”的东西。 特别是对于500个错误