banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành *nix Phải đăng nhập 2 lần khi sử dụng Nginx  XML
  [Question]   Phải đăng nhập 2 lần khi sử dụng Nginx 08/08/2012 10:35:20 (+0700) | #1 | 268196
[Avatar]
ngtrongtri
Member

[Minus]    0    [Plus]
Joined: 27/03/2012 22:54:13
Messages: 114
Offline
[Profile] [PM]
Chào mọi người, hiện em đang chạy website sử dụng Tomcat 7. Gần đây em sử dụng Nginx làm web server.
Khi em chạy 1 Tomcat với Nginx thôi thì web chạy bình thường, nhưng khi em tiến hành load balancer và đồng thời replication session cho 2 server Tomcat thì xảy ra lỗi.
Đó là khi em đăng nhập thì phải đăng nhập lần đầu tiên xong, ko đăng nhập vô được, nó ko hiện thông tin gì hết, em phải nhấn f5 thì mới hiện thông báo là đã đăng nhập thành công.
Một lỗi khác ít gặp phải đó là khi em click button "Đăng nhập" thì hiển thị thông báo trang đó ko tồn tại (khi em truy cập bằng IP thì vẫn vô bình thường. Mong mọi người giúp đỡ, cảm ơn.

File cấu hình nginx.conf của em như sau:

Code:
user www-data;
worker_processes  1;

error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
    # multi_accept on;
}

http {
upstream nginx.local {
server 192.168.2.60:8080; #weight=3
server 192.168.2.61:8080;
}

server {
listen 80;

server_name nginx.local;
location / {
proxy_pass http://nginx.local;
}
}
}


File cấu hình site
Code:
# You may add here your
# server {
#       ...
# }
# statements for each of your virtual hosts

server {
        listen   80;
        server_name  nginx.local;
        access_log  /var/log/nginx/server1.access.log;
        location / {
        proxy_pass http://192.168.2.60:8080;
        proxy_intercept_errors on;
        proxy_wwwect     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;

         }
}
server {
#        listen   80;
        server_name  nginx.local;
        access_log  /var/log/nginx/server2.access.log;
        location / {
        proxy_pass http://192.168.2.61:8080;
        proxy_intercept_errors on;
        proxy_wwwect     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;
        }
}
[Up] [Print Copy]
  [Question]   Phải đăng nhập 2 lần khi sử dụng Nginx 09/08/2012 09:30:19 (+0700) | #2 | 268225
maumuadong
Member

[Minus]    0    [Plus]
Joined: 04/06/2005 07:48:53
Messages: 32
Offline
[Profile] [PM]
Hi bạn,
Bạn dùng cơ chế nào để lưu session? Mình đã làm như bạn nhưng dùng memcached để lưu session thì không bị tình trạng như vậy.
[Up] [Print Copy]
  [Question]   Phải đăng nhập 2 lần khi sử dụng Nginx 22/08/2012 10:50:17 (+0700) | #3 | 268625
[Avatar]
ngtrongtri
Member

[Minus]    0    [Plus]
Joined: 27/03/2012 22:54:13
Messages: 114
Offline
[Profile] [PM]

maumuadong wrote:
Hi bạn,
Bạn dùng cơ chế nào để lưu session? Mình đã làm như bạn nhưng dùng memcached để lưu session thì không bị tình trạng như vậy. 

Chào bạn, bạn có thể cho mình xem cách bạn cấu hình dùng memcached được không smilie
[Up] [Print Copy]
  [Question]   Phải đăng nhập 2 lần khi sử dụng Nginx 26/08/2012 21:48:03 (+0700) | #4 | 268794
centos
Member

[Minus]    0    [Plus]
Joined: 28/03/2008 17:13:12
Messages: 219
Offline
[Profile] [PM]
sticky session lại cho upstream là xong. Vì bạn có không sticky lại khi bạn request đến server nó sẽ Delivery xuống server 1, nhưng khi bạn refesh lại thì nó lại delivery xuống server 2. Do vậy, trên server node sẽ ko ghi nhận bạn login thành công.

Nên bạn chỉ cần dùng sticky session là giải quyết đươc vấn đề
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|