@susnake

Можно ли осуществить перенаправление пакетов, что бы открывались 2 сайта?

Добрый день.
Имеется домен mx.example.com, которому соответствует внешний ip 152.56.89.52, при открытии домена попадаем на веб-версию почтового ящика ексчейнджа (внутренний IP 192.168.5.2). https://mx.example.com/owa.
Есть еще один сервер под ubuntu 14.04 c установленным apache2 (внутренний IP 192.168.5.3).
В apache2.conf прописал:
<VirtualHost 192.168.5.3>
  ServerAdmin root@sexample.com
  ServerName data.example.com
  DocumentRoot /var/www/owncloud
  ErrorLog /var/log/data.example.com-error_log
  TransferLog /var/log/data.example.com-access_log
</VirtualHost>

При переходе на data.example.com попадаем в веб-версию ексчейнджа если на- роутере открыт 80-ый порт на 192.168.5.2.
Можно ли как-то сделать, что бы 80-ый порт работал и для сервера с эксчейнджем и для линуксового сервера?
Раньше, когда мне нужно было на одном линуксовом сервере разместить несколько сайтов, я конфигурировал VirtualHost и все было отлично. Но с таким я не сталкивался. Может это проблема не с apache2 и ubuntu, а с перенаправлением трафика на роутере? У нас стоит ZyXEL Keenetic Ultra.
На хостинге поддомен data.example.com заведен и существует.
h_1425363199_4093231_8e4ce47e6b.png
  • Вопрос задан
  • 2606 просмотров
Решения вопроса 1
@HomeDimoN
  1. Перейти на nginx на сервере owncloud (или поставить как еще один, или поставить на отдельный сервер)
  2. Создать конфиги nginx для обоих сайтов
    server {
        listen       80;
        server_name  data.exemple.com;
    
        if ($http_host ~ "(?i)(data\.exemple\.com)$") {
    	rewrite ^(.*)  /web/$1 last;
        }
    
        location /web// {
    	proxy_pass http://data.exemple.com;
    	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_set_header   X-Forwarded-Host $server_name;
    	proxy_read_timeout 500;
        }
    
        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }
    
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    }

    второй по анологии

  3. отказаться от http в ползу https пример для exchange (не забыть подложить сертификаты в /etc/nginx/conf.d/cert/)
    server {
        listen      443;
    
        ssl on;
        ssl_certificate         /etc/nginx/conf.d/cert/mail.crt;
        ssl_certificate_key     /etc/nginx/conf.d/cert/mail.key;
        ssl_protocols         TLSv1 TLSv1.1 TLSv1.2;
        server_name  mx.example.com;
    
        #charset koi8-r;
        #access_log  /var/log/nginx/log/host.access.log  main;
    
        if ($http_host ~ "(?i)(mx\.example\.com)$") {
    	rewrite ^(.*)  /web/$1 last;
        }
    
        location /web// {
    	proxy_pass https://mx.example.com;
    	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;
            proxy_set_header   X-Forwarded-Host $server_name;
    	proxy_read_timeout 500;
        }
    
        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }
    
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    }


Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@ldvldv
Можно перенастроить на роутере проброс порта на 192.168.5.3. А на apache обратный прокси для exchange.
www.jamescoyle.net/how-to/116-simple-apache-revers...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы