ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

правильная настройка прокси на несколько сайтов.


  • To: nginx-ru@xxxxxxxxx
  • Subject: правильная настройка прокси на несколько сайтов.
  • From: Vladimir Skubriev <vladimir@xxxxxxxxxxx>
  • Date: Wed, 09 Oct 2013 11:53:15 +0400

Прошу прощения за такой простой вопрос.

Есть сервер с настроенным apache и несклькими Virtualhosts  внутри ЛВС:

<VirtualHost *:80>
  ServerName redmine.example.lab

  ServerAlias redmine.examplelab.com
  ServerAlias redmine
ServerAlias redmine-dev.example.lab # TODO remove this before production release

  ServerAdmin skubriev@xxxxxxxxxxxxxx

  DocumentRoot /mnt/datafs/redmine/public
  ErrorLog /mnt/datafs/log/error-redmine.log
  CustomLog /mnt/datafs/log/access-remine.log combined
  LogLevel warn

  <Directory /mnt/datafs/redmine/public>
    # This is unsecure, see
    # http://httpd.apache.org/docs/current/misc/security_tips.html
    # Protecting System Settings
# This prevents the use of .htaccess files in all directories apart from those specifically enabled.
    AllowOverride all

# Autofind resources(files) is unsecure - disable this extension by symbol (minus)
    Options -MultiViews
  </Directory>



  # Setup Mercurial Repos
  PerlLoadModule Apache2::Redmine
  PerlLoadModule Authen::Simple::LDAP

  WSGIScriptAlias /hg  "/mnt/datafs/config/hgweb.wsgi"
  <Location /hg >
    #Redmine auth
    PerlAccessHandler Apache::Authn::Redmine::access_handler
    PerlAuthenHandler Apache::Authn::Redmine::authen_handler
    RedmineDSN "DBI:mysql:database=redmine;host=localhost"
    RedmineDbUser "redmine"
    RedmineDbPass "redmine"

    AuthType Basic
    AuthName "exampleLab Mercurial Repository"
    Require valid-user
  </Location>

</VirtualHost>


<VirtualHost *:80>

    ServerName git.example.lab

    ServerAlias git.examplelab.com
    ServerAlias git

    ServerAdmin skubriev@xxxxxxxxxxxxxx



    ErrorLog /mnt/datafs/log/error-git.log
    CustomLog /mnt/datafs/log/access-git.log combined
    LogLevel warn


    SetEnv GIT_PROJECT_ROOT /mnt/datafs/repos/git
    SetEnv GIT_HTTP_EXPORT_ALL
    ScriptAlias / /usr/lib/git-core/git-http-backend/

    # Load Redmine.pm
    PerlLoadModule Apache2::Redmine

     <Location "/">
      AuthType Basic
      AuthName "examplelab Redmine git repositories"


      AuthUserFile /dev/null


      Require valid-user

      RedmineGitSmartHttp yes

      #Redmine auth
      PerlAccessHandler Apache::Authn::Redmine::access_handler
      PerlAuthenHandler Apache::Authn::Redmine::authen_handler
      RedmineDSN "DBI:mysql:database=redmine;host=localhost"
      RedmineDbUser "redmine"
      RedmineDbPass "redmine"
     </Location>

 </VirtualHost>

На шлюзе стоит nginx со следующей конфигурацией:

upstream backendredmine {
    server 192.168.128.11:80;
}

upstream backendredminedev {
    server 192.168.128.12:80;
}


server {
    listen   80;
    server_name redmine.examplelab.com;

    access_log  /var/log/nginx/redmineproxy.acess.log;
    error_log  /var/log/nginx/redmineproxy.error.log;

    location / {
        proxy_pass http://backendredmine;
    }
}

server {

        # http://habrahabr.ru/post/195808/

    listen   443 ssl;

    server_name redmine.examplelab.com;
    keepalive_timeout   60;

    ssl_certificate      /etc/ssl/certs/ssl-cert-snakeoil.pem;

    #private
    ssl_certificate_key  /etc/ssl/private/ssl-cert-snakeoil.key;
    ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers  "RC4:HIGH:!aNULL:!MD5:!kEDH";
    add_header Strict-Transport-Security 'max-age=604800';


    access_log  /var/log/nginx/redmineproxy-https.acess.log;
    error_log  /var/log/nginx/redmineproxy-https.error.log;

    location / {
        proxy_pass http://backendredminedev;
    }
}

Сейчас пользователи работают через 80 порт только:

server {
    listen   80;
    server_name redmine.examplelab.com;

В дальнейшем мне нужно будет перевести всех на redmine-dev backend и настроить https. Т.е. чтобы пользователи при обращении redmine.examplelab.com могли работать как с веб мордой Redmine, с репозиториями git и hg по HTTP и по HTTPS

Проблема в том, что если я попытаюсь откуда нибудь из Интернет зайти на https://redmine.examplelab.com, то я почему то попадаю на git и вылазит окно авторизации. Веб морда редмаин почему то ни когда не открывается.

Я не понимаю, что вообще настраиваю.

Это можно сказать мой третий веб сервер и первый прокси.

Объясните пожалуйста какая взаимосвязь между прокси и сервером внутри сети на пальцах что-ли.

Что нужно почитать перед тем, как браться настраивать веб сервер? Просто обычно делаешь все по каким нибудь статьям в Интернет. Спору нет к результату приходишь. Но ясности понимания работы HTTP это не привносит.

Я конечно в курсе что есть стандарты и в Интернет много информации.

Но возможно существует какая то хорошая статья где принцип работы разжевывается. Было бы неплохо, если бы эта статья было про проксирование.

Спасибо.

--
С Уважением,
специалист по техническому и программному обеспечению,
системный администратор

Скубриев Владимир
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Россия, Ростовская область, г. Таганрог

тел. моб: +7 (918) 504 38 20
skype: v.skubriev
icq: 214-800-502
www: skubriev.ru

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.