2

Я боролся с ProxyPass уже пару недель.

Моя проблема заключается в том, что результатом любой ссылки, которую я ожидаю получить с сервера Server2, является страница index.php на сервере Server1 при доступе из-за пределов моей сети, либо с работы через клиент VMware, либо через мой мобильный телефон, но все это работает как и ожидалось моя сеть.

Я также планирую получить доступ к своей установке ZoneMinder на Server2, но я подожду, пока я не разобрался с проблемой внешнего доступа, сначала подумав, что она работает нормально внутри.

Ниже приведены настройки, и я был бы очень признателен за помощь в правильной работе.

SteveW - Веллингтон - Новая Зеландия

Серверы

Сервер1 Raspberrypi2, на котором работает Raspbian (Debian Jessie)
uname -a = Linux RASPBERRYPI 4.1.13-v7+ # 826 ПРЕДСТАВЛЕНИЕ SMP Пт 13 ноября 20:19:03 GMT 2015 armv7l GNU/Linux

Сервер2 Lenovo M91p под управлением рабочего стола Ubuntu 14.04 LTS
uname -a = Linux subdomain.domain.nz 3.19.0-47-generic # 53 ~ 14.04.1-Ubuntu SMP Mon 18 января 16:09:14 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Файлы хостов

Сервер1 192.168.20.200

/ и т.д. / хосты

127.0.0.1       localhost
::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

127.0.1.1       raspberrypi

192.168.20.200  domain.nz
192.168.20.210  subdomain.domain.nz

Сервер2 на 192.168.20.210

/ и т.д. / хосты

127.0.0.1       localhost
127.0.1.1       domain.nz

::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

192.168.20.200 domain.nz
192.168.20.210 subdomain.domain.nz

DNS Zone Records (Внешний провидор)

domain.nz           A       my_ip_address
www.domain.nz       CNAME   domain.nz
subdomain.domain.nz CNAME   domain.nz

Переадресация порта маршрутизатора

192.168.20.200 порт 80 включен
192.168.20.200 порт 443 включен

SSL-сертификаты от letsencrypt

Apache2 .conf файлы

Сервер1

Файл /etc/apache2/sites-available/domain.nz выглядит следующим образом:

#domain.nz
#Redirect all incoming requests on 192.168.20.200 port 80 to port 443
<VirtualHost *:80>

    ServerAdmin email@example.com
    ServerName domain.nz
    ServerAlias www.domain.nz
    Redirect permanent / https://domain.nz/

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

#Port 443 on 192.68.20.200
<VirtualHost domain.nz:443>

    ServerAdmin email@example.com
    ServerName domain.nz
    #Web pages live below this
    DocumentRoot /var/www/domain.nz/public_html/

#Deny access to /
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Require all denied
</Directory>

#Allow Access to web pages
<Directory /var/www/domain.nz/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
<Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Require all granted
</Directory>
SSLEngine on
    #Letsencrypt certificates
    SSLCertificateFile /etc/letsencrypt/live/domain.nz/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/domain.nz/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/domain.nz/fullchain.pem

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel debug

    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

#subdomain.domain.nz
<VirtualHost subdomain.domain.nz:80>

    ServerAdmin email@example.com
    ServerName subdomain.domain.nz
    Redirect permanent / https://subdomain.domain.nz/

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

<VirtualHost subdomain.domain.nz:443>

    ServerName subdomain.domain.nz
    ProxyHTMLStripComments on
    ProxyRequests off
    SetOutputFilter proxy-html
    ProxyHTMLDoctype HTML

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

<Proxy *>
 Require all granted
</Proxy>

ProxyPass / https://subdomain.domain.nz/
ProxyPassReverse / https://subdomain.domain.nz/
ProxyHTMLURLMap https://subdomain.domain.nz /

<Location />
  Require all granted
</Location>

</VirtualHost>

Сервер2 на 192.168.20.210

Стек ламп установлен с веб-сайтом в /var/www/domain.nz/public_html/

Файл /etc/apache2/sites-available/subdomain.domain.nz выглядит следующим образом:

#subdomain.domain.nz
#Redirect all incoming requests on 192.168.20.210 port 80 to port 443
<VirtualHost *:80>
    ServerAdmin email@example.com
    ServerName subdomain.domain.nz
    DocumentRoot /var/www/subdomain.domain.nz/public_html/
    Redirect permanent / https://subdomain.domain.nz/

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

#Port 443 on 192.68.20.210
<VirtualHost *:443>

    ServerAdmin email@example.com
    ServerName subdomain.domain.nz
    #Web pages live below this
    DocumentRoot /var/www/subdomain.domain.nz/public_html/
#Deny access to /
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>
#Allow Access to web pages
<Directory /var/www/subdomain.domain.nz/public_html>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
<Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Require all granted
</Directory>

SSLEngine on
    #Letsencrypt certificates
    SSLCertificateFile /etc/letsencrypt/live/subdomain.domain.nz/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/subdomain.domain.nz/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/subdomain.domain.nz/fullchain.pem

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel debug

    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

0