Использование доменного имени вместо localhost с https в xampp

Мой вопрос может быть глупым, но, честно говоря, я много искал и добился успеха, но не полностью.

Я использую xampp с windows 8.

Мой хост-файл выглядит следующим образом.

    127.0.0.1   localhost
    127.0.0.1   www.mysite.com

Мой httpd-vhosts.config выглядит следующим образом.

    NameVirtualHost 127.0.0.1
    <VirtualHost 127.0.0.1>
        DocumentRoot "C:/xampp/htdocs"
        ServerName localhost
    </VirtualHost>
    <VirtualHost 127.0.0.1>
        ServerName www.mysite.com
        ServerAlias mysite.com
        DocumentRoot "C:/xampp/htdocs/mysite"
    </VirtualHost>

Это идеально подходит для http. Но я включил ssl.

Когда я набираю http://localhost или https://localhost, оба работают нормально.

Когда я набираю http://mysite.com, работает,

когда я набираю https://mysite.com, он перенаправляется как https://mysite.com/xampp/ и показывает мне страницу приветствия по умолчанию для xampp.

Я пробовал следующее.

1) вместо 127.0.0.1 я попытался использовать *: 80 в httpd-vhosts.conf, но результат был таким же.

2) вместо 127.0.0.1 я попытался использовать *: 443 в httpd-vhosts.conf, но во время перезапуска apache не запускается снова.

Пожалуйста, дайте мне знать, как я могу получить доступ к моему сайту через доменное имя вместо localhost с https или http.


person Jeet Chaudhari    schedule 26.04.2013    source источник
comment
попробуйте раскомментировать extension = php_openssl.dll в php.ini и перезапустите apache   -  person Rakesh Sharma    schedule 26.04.2013
comment
упомянутая вами строка уже раскомментирована, поэтому я могу использовать другие мои сайты в https по https: / / localhost / othersite / Должен ли я комментировать перезапуск, а затем снова раскомментировать и перезапустить?   -  person Jeet Chaudhari    schedule 26.04.2013
comment
возможно, потребуется поддержка apache, раскомментируйте #LoadModule ssl_module modules / mod_ssl.so в xampp / apache / conf / httpd.conf   -  person shapeshifter    schedule 26.04.2013
comment
@shapeshifter упомянутый вами файл уже раскомментирован.   -  person Jeet Chaudhari    schedule 26.04.2013
comment
@JeetChaudhari Вы добавили исключение в брандмауэр Windows для порта   -  person swapnesh    schedule 26.04.2013
comment
@JeetChaudhari Также вы можете проверить эти две ссылки http://wiki.apache.org/httpd/DebuggingSSLProblems#Debugging_SSL_Problems & rubayathasan.com/tutorial/apache-ssl-on-windows & digicert.com/ssl-support/apache-fix-common -ssl-errors.htm   -  person swapnesh    schedule 26.04.2013
comment
@JeetChaudhari, дайте мне знать, что вы пробовали из этого ... чтобы я мог помочь вам в дальнейшем   -  person swapnesh    schedule 26.04.2013
comment
проверьте это sawmac.com/xampp/virtualhosts   -  person RavatSinh Sisodiya    schedule 26.04.2013
comment
@swapnesh Я проверил ссылки, там показано, как создать сертификат, но, честно говоря, я ничего подобного не делал, сейчас не помню, где я видел сообщение о включении https, но в нем не было никаких инструкций о том, как создать сертификат и подпись, я просто раскомментировал LoadModule ssl_module modules / mod-sso.so в httpd.conf Итак, я могу просматривать https на моем локальном хосте, но он показывает ошибку сертификата, что означает адресную строку красного цвета. Создает ли это проблема? Также будет нормально, если я выполню шаги, указанные в приведенной вами ссылке?   -  person Jeet Chaudhari    schedule 26.04.2013
comment
@JeetChaudhari, вы проверяли журналы ошибок ... иногда они действительно полезны ... дайте мне знать ... еще кое-что, чтобы проверить ошибку SSL, Google предоставляет инструмент разработчика (но я еще не использовал его)?   -  person swapnesh    schedule 26.04.2013
comment
@swapnesh Я обнаружил эту ошибку в журналах apache [ssl: warn] [pid 9664: tid 320] AH01873: Init: Session Cache не настроен [подсказка: SSLSessionCache] Как мы можем настроить SSLSessionCache   -  person Jeet Chaudhari    schedule 26.04.2013
comment
Привет @swapnesh Я нашел ответ, просто я поступил глупо. Мне просто нужно опубликовать здесь ответ, чтобы никто больше не тратил на это столько времени. хотя я решил свою проблему, у меня есть еще несколько вопросов. мне нужно отредактировать свой вопрос или просто нажать на свой вопрос? извините, но я новичок на этом сайте, это был мой 1-й вопрос.   -  person Jeet Chaudhari    schedule 26.04.2013
comment
@JeetChaudhari, что это было ... дай мне знать   -  person swapnesh    schedule 26.04.2013
comment
Я отредактировал комментарий, пожалуйста, еще раз проверьте мой предыдущий комментарий.   -  person Jeet Chaudhari    schedule 26.04.2013
comment
@JeetChaudhari Для этого конкретного вопроса создайте ответ .. затем отправьте еще один вопрос с вашими сомнениями   -  person swapnesh    schedule 26.04.2013
comment
Не бывает глупых вопросов.   -  person Traveling Salesman    schedule 05.11.2013


Ответы (6)


Я много чего пробовал, но думаю, что пропустил базовое редактирование.

Теперь все работает нормально.

Теперь файл хоста остается таким же, как упоминалось в вопросе. Я не вносил в него никаких изменений.

Я изменил порт в httpd-vhosts.config, как показано ниже.

NameVirtualHost *
    <VirtualHost *>
        DocumentRoot "C:/xampp/htdocs"
        ServerName localhost
    </VirtualHost>
    <VirtualHost *>
        ServerName www.mysite.com
        ServerAlias mysite.com
        DocumentRoot "C:/xampp/htdocs/mysite"
    </VirtualHost>

Также шаг, который я пропустил, редактировал файл httpd-ssl.config в той же папке, что и httpd-vhosts.config.

Я просто добавил следующие строки перед последней строкой файла http-ssl.config, т.е. ‹/ IfModule>

<VirtualHost _default_:443> 
    DocumentRoot "C:/xampp/htdocs/mysite" 
    ServerName www.mysite.com:443 
    ServerAlias mysite.com:443  
    SSLEngine on 
    SSLCertificateFile "conf/ssl.crt/server.crt" 
    SSLCertificateKeyFile "conf/ssl.key/server.key" 
</VirtualHost> 

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

person Jeet Chaudhari    schedule 26.04.2013

Позвольте мне объяснить шаг за шагом и другим ребятам.

1. Сопоставьте свое собственное доменное имя с localhost в файле HOSTS.

Откройте файл hosts и добавьте строку ниже.

127.0.0.1 www.example.com

2. Сообщите XAMPP о своем личном домене.

Добавьте содержимое ниже в httpd-vhosts.conf

<VirtualHost *>
    ServerName www.example.com
    ServerAlias example.com
    DocumentRoot "C:/xampp/htdocs/example"
</VirtualHost>

Если у вас есть порт для вашего локального хоста, добавьте его как <VirtualHost *:80>

Перезапустите apache. Теперь вы можете получить доступ к http://example.com в своем браузере.

3. Если вы хотите получить доступ к https://example.com

Добавьте строку ниже в httpd-vhosts.conf

<VirtualHost *:443>
    DocumentRoot "C:/xampp/htdocs/example"
    ServerName www.example.com
    SSLEngine on
    SSLCertificateFile "conf/ssl.crt/server.crt"
    SSLCertificateKeyFile "conf/ssl.key/server.key"
    <Directory "C:/xampp/htdocs/example">
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

person Anurag Prashant    schedule 13.07.2016
comment
Что мне делать, если мне нужно такое же решение, но я не могу изменить файл hosts? - person Raul Alonso; 28.09.2018
comment
Вы должны отредактировать файл hosts, иначе он будет искать домен снаружи. Если вы не можете редактировать файл hosts, попробуйте права администратора. - person Anurag Prashant; 01.10.2018
comment
Как насчет использования функции локального прокси-сервера из Apache? Может быть, я мог бы использовать эту функцию, чтобы включить прокси, который добавляет определенное правило для моего домена, я не знаю, как использовать модуль прокси, но, возможно, это может решить мою проблему. проблема - person Raul Alonso; 01.10.2018
comment
где собственно папка cont? - person elliotching; 22.04.2019
comment
в Windows это в C: \ Windows \ System32 \ Drivers \ etc \ hosts В ubuntu udpate \ etc \ hosts - person Anurag Prashant; 24.04.2019
comment
Пробовал на xampp mac, но перенаправляет на панель управления, поэтому необходимо ввести localurl / имя проекта - person Vaishal Patel; 03.07.2019

Я не слишком знаком с apache, но, возможно, не указываю порт по умолчанию: 80, и добавление этого волшебным образом все исправит?

<VirtualHost 127.0.0.1:443>
    ServerName www.mysite.com
    ServerAlias mysite.com
    DocumentRoot "C:/xampp/htdocs/mysite"
</VirtualHost>
person Insensus    schedule 26.04.2013
comment
Это привело к тому, что сервер Apache не запустился. журнал ошибок показывает. [Пт, 26 апреля, 10: 06: 38.323550 2013] [ssl: warn] [pid 7892: tid 324] AH01873: Init: кеш сеанса не настроен [подсказка: SSLSessionCache] - person Jeet Chaudhari; 26.04.2013

Я часами гуглил, пытаясь понять, почему последний выпуск XAMPP ставит 1200MS на время генерации страницы ... Я подумал, что, возможно, мой код еще работает с некоторыми довольно сложными системами классов ... этот поток указал на весь localhost ‹> 127.0.0.1

Я нахожусь в Windows 7, и я не думал использовать CMD для "ping localhost"

результат был ":: 1:", а не 127.0.0.1

После быстрого редактирования файла windows / system32 / drivers / etc / host, чтобы раскомментировать строку

127.0.0.0 локальный

Время моей страницы вернулось к норме. Возможно, у кого-то еще возникла эта проблема в последнее время, и, учитывая, что эта ветка занимает первое место в Google, удачи!

person FaTe    schedule 01.12.2013

Я начал с нескольких пользовательских доменов. См. Новый код ниже:

Примечание. WordPress удаляет обратную косую черту, поэтому ниже я заменил ее косой чертой. Я верю, что с работой в любом случае.

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs"
    ServerName localhost
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "C:/Users/Austin Passy/Documents/InMotion Hosting/frostywebdev.com/html"
    ServerName frostyweb.dev
    <Directory "C:/Users/Austin Passy/Documents/InMotion Hosting/frostywebdev.com/html">
    Options Indexes FollowSymLinks ExecCGI Includes
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs/eateryengine"
    ServerName eateryengine.dev
    <Directory "C:/xampp/htdocs/eateryengine">
    Options Indexes FollowSymLinks ExecCGI Includes
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
person Xman Classical    schedule 04.06.2014
comment
Вам необходимо отредактировать hosts файл, чтобы использовать пользовательские локальные домены ... - person Yousha Aleayoub; 24.09.2020

Я использую свои собственные домены (заканчивающиеся на .lc) для разработки веб-приложений на localhost. Я опишу простое решение для динамических доменов .lc и среды разработки, которое работает независимо от подключения к Интернету.

Я тоже писал об этом в своем блоге: http://www.michalseidler.com/development/localhost-development-enviromet-for-php/.

В этом примере я пытаюсь описать конфигурацию локальных динамических доменов * .lc с Wamp Server. Мои проекты хранятся в C: \ wamp \ www \ projects \ projectname \, и я использую динамическое сопоставление projectname.lc. Это означает, что я могу получить доступ к каждому каталогу проекта с доменом [имя директории проекта] .lc

Шаг 1 - настройка локального сервера WAMP

Прежде всего вам необходимо поместить конфигурацию домена * .lc в httpd.conf:

<VirtualHost 127.0.0.1>
ServerName lc
ServerAlias *.lc
DocumentRoot "C:\wamp\www\projects"
</VirtualHost>;

Вам нужно вставить файл .htaccess в директории проектов (в моем примере в: C: \ wamp \ www \ projects), эта конфигурация отображает домены * .ls в директории проекта. Пример: Если у вас есть исходный код в директории «myapp», вы можете использовать www.myapp.lc, чтобы открыть его в браузере.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^([^\.]*)\.([^\.]*)$
RewriteRule (.*) http://www.%1.%2/$1 [L,R=301]

RewriteCond %{HTTP_HOST} ^www\.([^.]+)\.([^.]+)\.([^\.]*)$ [NC]
RewriteRule ^(.*)$ http://%1.%2.%3/$1 [L,R=301]

RewriteCond %{REQUEST_URI} !^projects/
RewriteCond %{REQUEST_URI} !^/projects/
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$
RewriteRule (.*) %3/$1 [DPI] 

После этих изменений перезапустите Wamp Server.

Шаг 2 - настройка локального DNS-сервера

Поскольку мы не можем использовать * .lc в файле хоста Windows, нам необходимо установить локальный DNS-сервер. Я выбрал Acrylic DNS Server, потому что он очень прост в настройке.

После установки найдите файл AcrylicHosts (C: \ Program Files (x86) \ Acrylic DNS Proxy) и вставьте новую строку:

127.0.0.1 *.lc

Это только конфигурация DNS, которая нам нужна, поэтому перезапустите службу Acrylic DNS.

Шаг 3 - настройка сетевого адаптера

Последний шаг - установить новый поддельный сетевой адаптер и назначить DNS-сервер: 1. Щелкните меню «Пуск». 2. Найдите «cmd». 3. Щелкните правой кнопкой мыши «cmd» и выберите «Запуск от имени администратора» 4. Введите «hdwwiz.exe» 5. В окне «Добро пожаловать в мастер установки оборудования» нажмите «Далее». 6. Выберите «Установить оборудование, которое я вручную выбрал из списка (Дополнительно)» и нажмите Далее. 7. Прокрутите вниз и выберите «Сетевые адаптеры» и нажмите Далее. 8. В разделе «Производитель» выберите «Microsoft», затем в «Сетевом адаптере» «Microsoft Loopback Adapter» и нажмите «Далее».

На следующем шаге вы должны изменить настройки TCP / IP для нового созданного адаптера: 1. Войдите в систему, используя учетную запись администратора. 2. Нажмите «Пуск», выберите «Панель управления» и нажмите «Сетевые подключения». 3. Щелкните правой кнопкой мыши на кольцевом соединении и выберите «Свойства». 4. В поле Это соединение использует следующие элементы, щелкните Протокол Интернета (TCP / IP), а затем щелкните Свойства. Откроется диалоговое окно свойств Интернет-протокола (TCP / IP).

IP addess: 192.168.1.1
Subnet mask: 255.255.255.0
Default Gateway: empty

Prefered DNS server: 127.0.0.1

Теперь закройте все диалоги и готово! Вы можете попробовать открыть [название вашего проекта] .lc

person Michal Seidler    schedule 27.07.2015