我想通过互联网上的虚拟主机访问我的网站。现在,我正在使用服务器的公共IP地址访问我的网站。这是我正在使用的(请参见下文)。
DNS_PROBE_FINISHED_NXDOMAIN错误
找不到mysite的服务器IP地址。
ERR_SSL_PROTOCOL_ERROR
122.4.195.12发送了无效的响应。
http://122.4.195.12:7777/site/index.php-> https://122.4.195.12:7777/site/index.php
这是我的虚拟主机配置:
<VirtualHost *:7777>
DocumentRoot "C:\xampp\htdocs"
ServerName mysite
<Directory "C:\xampp\htdocs">
Require all granted
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:443>
DocumentRoot "C:/xampp/htdocs"
ServerName mysite
SSLEngine on
SSLCertificateFile "crt/scratchitsite/server.crt"
SSLCertificateKeyFile "crt/mysite/server.key"
<Directory "C:\xampp\htdocs">
Require all granted
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
这是我的服务器的主机文件:
127.0.0.1 mysite
答案 0 :(得分:0)
问题1
更简单的方法仍然是注册域名,将其指向您的IP地址,并为其设置VirtualHost ServerName
VirtualHost实际上从服务器站点检测到Host
HTTP标头,因此这里的关键是:
如何使客户端浏览器发送
Host
标头与您在服务器上定义的标头相同
例如,通过使用CURL,您可以强制其使用用户定义的Host
标头,如下所示:curl -H 'Host: mysite' 122.4.195.12:7777/site/index.php
如果您使用的是Chrome,则可以尝试使用浏览器扩展程序,例如this
问题2
您已在Apache配置中在端口443而不是7777上启用了HTTPS
这意味着您应该像这样https://122.4.195.12:443/site/index.php
而不是https://122.4.195.12:7777/site/index.php
来访问HTTPS服务