Я боролся с 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>