2015-10-19 2 views
1

У меня установлен nginx 1.9.4 на моем облачном экземпляре. Но я не могу запустить nginx с «sudo service nginx start», когда включен липкий модуль. Но когда это удалено, я могу запустить его. Кто-нибудь понял, что вызывает эту проблему?Не удалось запустить nginx 1.9.4 с включенным липким модулем

upstream uesconf 
{ 

sticky; 

    server xxx.xxx.xxx.xxx:9443; 
    server xxx.xxx.xxx.xxx:9443; 
    server xxx.xxx.xxx.xxx:9443; 
    server xxx.xxx.xxx.xxx:9443; 


} 

server { 

    listen 80; 
    server_name xxx.xxx.xxx; 
    rewrite ^/(.*) http://xxx.xxx.xxx/$1 permanent; 


    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection "upgrade"; 
    proxy_http_version 1.1; 

} 

server { 

    listen 443; 
    server_name xxx.xxx.xxx; 

    ssl on; 
    ssl_certificate /etc/nginx/conf.d/keys/xxx.crt; 
    ssl_certificate_key /etc/nginx/conf.d/keys/xxx.key; 

    proxy_set_header Upgrade $http_upgrade; 
    proxy_set_header Connection "upgrade"; 
    proxy_http_version 1.1; 
    client_max_body_size 20M; 


    location/{ 
     index index.html; 
     proxy_set_header X-Forwarded-Host $host; 
     proxy_set_header X-Forwarded-Server $host; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 

     proxy_set_header Host $http_host; 
     proxy_read_timeout 5m; 
     proxy_send_timeout 5m; 

     proxy_pass https://uesconf; 
     proxy_redirect https://uesconf https://xxx.xxx.xxx/; 

    } 

} 
+0

Я думаю, что мне нужен липкий сеанс, потому что балансировщик нагрузки не помнит, что сервер ip отправил запрос на сервер, поэтому пользователь не может войти без использования принудительного «запомнить меня» – Pubudu

+0

Вы проверили w с командой 'nginx -t'? –

+0

@AlexeyTen Да. Он дает мне следующее подтверждающее сообщение. nginx: файл конфигурации /etc/nginx/nginx.conf синтаксис в порядке nginx: файл конфигурации /etc/nginx/nginx.conf успешно прошел – Pubudu

ответ

1

Вместо того чтобы использовать липкий сеанс попытаться обработать стандартный способ использовать тот же самый IP-адрес сервера в соответствии с каждым клиентом:

upstream backend { 
    hash $remote_addr consistent; 

    server backend1.example.com; 
    server backend2.example.com; 
} 

В вашем случае это будет следующим образом:

upstream uesconf { 
    hash $remote_addr consistent; 
    server xxx.xxx.xxx.xxx:9443; 
    server xxx.xxx.xxx.xxx:9443; 
    server xxx.xxx.xxx.xxx:9443; 
    server xxx.xxx.xxx.xxx:9443; 
} 
+0

Спасибо @Anatoly, это исправило проблему. – Pubudu

+0

Я сделал это, как только я доберусь до уровня репутации 15 :) – Pubudu

+0

, хотя это решило первоначальную проблему, остается очень медленно загружать страницы через nginx и время сеанса слишком быстро. Есть ли обходной путь для этого? – Pubudu

Смежные вопросы