#apache
#apache
Вопрос:
У меня дома установлен сервер Apache2 с присвоенным ему доменным именем (скажем example.com
так). Я настроил его на пересылку всех http
запросов для использования https
.
Используя любое интернет-соединение, кроме того, что у меня дома, я могу подключиться к https://example.com
нему просто отлично. Однако, когда я у себя дома, https://example.com
говорит refused to connect
. Однако я могу подключиться к внешнему IP напрямую (т. Е. 12.34.56.789/index.php
), Как у меня дома, так и в другом месте, но только через http
, не https
.
Есть идеи, что может быть причиной этого? Дайте мне знать, какие файлы конфигурации было бы полезно иметь, и я отредактирую свой вопрос, чтобы включить их.
Файлы конфигурации
Вот конфигурация apache ssl
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLCertificateFile /path/to/cert.pem
SSLCertificateKeyFile /path/to/privkey.pem
Include /path/to/options-ssl-apache.conf
ServerName example.com
SSLCertificateChainFile /path/to/chain.pem
</VirtualHost>
</IfModule>
и вот /path/to/options-ssl-apache.conf
файл
# Baseline setting to Include for SSL sites
SSLEngine on
# Intermediate configuration, tweak to your needs
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite <list of cipher suits>
SSLHonorCipherOrder on
SSLCompression off
SSLOptions StrictRequire
# Add vhost name to log entries:
LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-agent}i"" vhost_combined
LogFormat "%v %h %l %u %t "%r" %>s %b" vhost_common
#CustomLog /var/log/apache2/access.log vhost_combined
#LogLevel warn
#ErrorLog /var/log/apache2/error.log
Комментарии:
1. Это проблема с переадресацией портов на вашем маршрутизаторе.
2. Это не имеет ничего общего с PHP или Apache.
3. Почему переадресация портов позволяет мне подключаться извне, но не изнутри?
4. На самом деле это может быть ограничение маршрутизатора. У маршрутизаторов возникают проблемы, когда вы пытаетесь выполнить переадресацию портов, а вы уже внутри. Некоторые маршрутизаторы вообще этого не делают. Я подозреваю, что в вашем случае вы столкнулись с конфликтом с портом, используемым для управления самим маршрутизатором.
5. Самым простым решением может быть использование
/etc/hosts
файла, который преобразует ваше доменное имя в частный IP-адрес, чтобы вы не проходили через маршрутизатор, когда вы уже находитесь в своей локальной сети.