我有基于名称的托管,我们称之为my.address.com。我的朋友有一个“普通”地址,address.com并给了我一个可以通过 SSH 访问的虚拟机。
他还用端口创造了一些魔法,现在,安装 Apache 后,我可以/var/www通过my.address.com.
所以,问题是,我怎样才能创建一个子域test.my.address.com?
Apache 的 Listen Directive应该有一些魔力,但我无法弄清楚。另外,我知道如何使用 Apache 创建本地可用的站点,但它不一样。
我有几个问题,请帮忙:
拳头,我只需要输入 就可以访问 Google 搜索http://74.125.224.211,因为这是 nslookup 返回的 IP 地址。
但是,我无法使用从 www.yahoo.com 返回的 IP 地址执行此操作。如何通过 IP 进入 Yahoo 搜索页面?
另一个例子,http://www.allaboutcircuits.com将解析到68.233.243.63DNS 服务器,但如果我去http://68.233.243.63,我得到“Hello world!”。
其次,出于某种原因,我的网络托管服务的 DNS 解析器有问题(不会修复!!)。所以命令像
get_file_contents("http://www.allaboutcircuits.com");
Run Code Online (Sandbox Code Playgroud)
将返回 php_network_getaddresses: getaddrinfo failed: Name or service not known
我如何通过 IP 地址解决这个问题,
68.233.243.63
Run Code Online (Sandbox Code Playgroud)
我的意思是,以某种方式将 HTTP 主机名参数附加到get_file_contents()?
我想自己解决这个问题(在我的代码中),服务器管理员不会进行故障排除/调整。
我有一个带有多个 VirtualHosts 的 Apache2 配置。我的 DNS 设置为*.<domain>.<tld>在多个域上接受。一切正常,但如果我去,something-random-here.example.com我似乎选择了一个无效的 VirtualHost(我猜是它找到的第一个或最后一个)。如果没有任何 VirtualHost 条目与域或子域匹配,有没有办法告诉 Apache 使用某些规则?我最好想返回 404。
我已经安装了 Oracle VM Box 并创建了一个虚拟机。现在我已经在虚拟机中(在 IIS 中)托管了一个网站。我希望在主机的浏览器中浏览这个网站。
任何人都可以让我知道需要配置的设置。
这是我设置虚拟主机的方式:
<VirtualHost mysite>
<Directory "/Users/myusername/sitefolder">
Options +FollowSymlinks
AllowOverride All
Order Allow,Deny
Allow from all
</Directory>
DocumentRoot "/Users/myusername/sitefolder"
ServerName mysite
SSLEngine on
SSLCertificateFile /Users/myusername/certs/server.crt
SSLCertificateKeyFile /Users/myusername/certs/server.key
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
使用此配置,我只能使用 https 查看我的站点,而不能使用 http。当我关闭 SSLEngine 时,我无法使用 https 查看我的站点,但 http 工作正常。
如何调整上述行,以便能够同时使用 http 和 https 查看我的网站?
我使用 OSX Lion,但我认为它没有那么重要。
谢谢。
我在我的 Ubuntu Lucid(相对 10.04)上使用 Firefox(3.6.17)并注意到如果插入网络电缆一切正常,我可以浏览我在 Apache2 中配置的本地虚拟主机。
但是,如果我拔掉网络,Firefox 将无法再访问本地虚拟主机并显示以下消息:
服务器未找到
Firefox 在 atn-dev.hal901.com 上找不到服务器
我认为 Linux 和 Apache2 配置正确,因为 wget 和 Chromium 浏览器仍然能够联系 vhost。这似乎是一个 Firefox 错误。
问题是我广泛使用 Firefox,我需要它来进行 Web 开发。Firefox 只有http://localhost/在网络断开时才能访问。
我知道文件菜单中有 Firefox 的“离线工作”选项,但我已经取消选中它。
此外,我通过about:config页面完全禁用了它,将browser.offline属性设置为false.
任何人都可以找出解决方案吗?
我有一个域名链接到我家里的IP地址。但是,我想使用相同的服务器/IP 来显示多个网站。
我无法让虚拟主机工作。
我的 conf.d/virtual.conf 是:
NameVirtualHost 192.168.10.151:80
Run Code Online (Sandbox Code Playgroud)
我的网站可用/www.mydomain.com 是:
Listen 80
<VirtualHost *>
ServerAdmin admin@mydomain.com
ServerName www.mydomain.com
ServerAlias mydomain.com
#Indexes and Directory Root
DirectoryIndex index.html index.php
DocumentRoot /media/BigDisk/www/www.mydomain.com/
# Log Files
ErrorLog /media/BigDisk/www/www.mydomain.com/logs/error.log
CustomLog /media/BigDisk/www/www.mydomain.com/logs/access.log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
并且该站点是使用 a2ensite 启用的,并且 apache 重新加载,没有任何警告或错误,但是当我去时www.mydomain.com我什么也没得到(“哎呀!谷歌浏览器无法连接......”)。
我究竟做错了什么?
更新:重新启动 Apache 结果如下:
malfist@webhost:~$ sudo /etc/init.d/apache2 restart
[sudo] password for malfist:
* Restarting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[Thu Sep 01 …Run Code Online (Sandbox Code Playgroud) 我已经通过这种方法设置了一个 Apache 2 虚拟主机。
在/etc/apache2/sites-available我创建了一个dummy_site_1.conf
<VirtualHost local.dummy_site_1:80>
ServerName local.dummy_site_1
ServerAdmin webmaster@localhost
DocumentRoot /var/www/dummy_site_1
ErrorLog /var/log/apache2/dummy_site_1__error.log
TransferLog /var/log/apache2/dummy_site_1__access.log
<Directory /var/www/dummy_site_1>
AllowOverride Options Limit None
Options -Indexes FollowSymLinks
Order deny,allow
Allow from all
</Directory>
DirectoryIndex index.php
#DISABLE HTTP TRACE
#RewriteEngine On
#RewriteCond %{REQUEST_METHOD} ^TRACE
#RewriteRule .* - [F]
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
我还添加了这一行httpd.conf:
ServerName local.dummy_site_1
Run Code Online (Sandbox Code Playgroud)
现在一切都在使用这个设置,我输入local.dummy_site_1URL,我可以看到我的网站。
问题是当我尝试添加另一个站点配置dummy_site_2.conf并创建大约相同的设置时
<VirtualHost local.dummy_site_2:80>
ServerName local.dummy_site_2
ServerAdmin webmaster@localhost
DocumentRoot /var/www/dummy_site_2
ErrorLog /var/log/apache2/dummy_site_2__error.log
TransferLog /var/log/apache2/dummy_site_2__access.log
<Directory /var/www/dummy_site_2>
AllowOverride Options Limit …Run Code Online (Sandbox Code Playgroud) 在 /etc/apache2/extra/httpd-vhosts.conf 中,我有:
NameVirtualHost *:80
<VirtualHost *.80>
ServerName localhost
DocumentRoot "/Library/WebServer/Documents"
</VirtualHost>
<VirtualHost *:80>
ServerName site1.local
DocumentRoot "/Users/bob/Sites/site1.local"
<Directory /Users/bob/Sites/site1.local>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *.80>
ServerName site2.local
DocumentRoot "/Users/bob/Sites/site2.local"
<Directory /Users/bob/Sites/site2.local>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
在 /etc/hosts 中,我有:
127.0.0.1 site1.local
127.0.0.1 site2.local
Run Code Online (Sandbox Code Playgroud)
浏览到http://site1.local 会产生正确的站点。但是,浏览到http://site2.local会显示 Site1 的内容。
我是否配置错误?
我正在使用虚拟主机并且它在所有浏览器中都可以正常工作,我可以从所有浏览器访问它,但在 Windows 10 Microsoft Edge 中它不起作用。它只打开本地主机,而不是我定义的任何其他虚拟主机
我的 Windows 主机文件包含
# 127.0.0.1 localhost
# ::1 localhost
127.0.0.1 developerquery
::1 developerquery
127.0.0.1 test
::1 test
Run Code Online (Sandbox Code Playgroud)
Appache VirutalHost.conf 包含
NameVirtualHost *:80
<VirtualHost *:80>
ServerName localhost
ServerAlias localhost
DocumentRoot "F:\Local server\htdocs\localhost"
CustomLog logs/localhost.error.logs combined
ErrorLog logs/localhost.error.log
</VirtualHost>
<VirtualHost *:80>
ServerName developerquery
ServerAlias developerquery
DocumentRoot "F:\Local server\htdocs\developerquery"
CustomLog logs/developerquery.error.logs combined
ErrorLog logs/developerquery.error.log
</VirtualHost>
<VirtualHost *:80>
ServerName test
ServerAlias test
DocumentRoot "F:\Local server\htdocs\test"
CustomLog logs/test.error.logs combined
ErrorLog logs/test.error.log
</VirtualHost>
Run Code Online (Sandbox Code Playgroud) 我有一个虚拟服务器托管在 ISP 上,有 2 个公共 IPv4 地址。我想使用 Apache 运行多个子域(超过 2 个)并通过 HTTP 和 HTTPS 为它们提供服务。SSL 证书是 *.mydomain.com 的通配符。
我试图以这种方式在 Debian 中配置 Apache 但失败了。要么我的虚拟主机不被接受,要么我收到 SSL 错误。(我知道 Apache 在提供证书之前没有看到请求的主机名,但证书包含所有可能的子域)
请帮助创建一个最适合 Debian 的 Apache 配置布局的 httpd.conf。
所有细节:
DigitalOcean 今天通知我,我在那里的 Droplet 已断开连接,因为它正在进行 DDoS 攻击。
他们让我调查并找出导致它的原因。
这是 Ubuntu 14,我在那里有 6 个 Apache VirtualHosts。所有人都活着。
我的一个站点是带有几个插件的 WordPress 安装。
另一个站点中有一些 Google Maps API 代码。
其余的只有我的原始代码。
我还没有进入服务器。一旦我这样做了,正确找到导致这种情况的软件的过程是什么?
我怀疑这是因为我的密码没有使用 SSH 密钥。
尝试启动我们的 kvm 虚拟机并在重新启动物理主机后出现此错误。
Error starting domain: unsupported configuration: Unable to find security driver for model selinux
Traceback (most recent call last):
File "/usr/share/virt-manager/virtManager/asyncjob.py", line 88, in cb_wrapper
callback(asyncjob, *args, **kwargs)
File "/usr/share/virt-manager/virtManager/asyncjob.py", line 124, in tmpcb
callback(*args, **kwargs)
File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 83, in newfn
ret = fn(self, *args, **kwargs)
File "/usr/share/virt-manager/virtManager/domain.py", line 1479, in startup
self._backend.create()
File "/usr/lib/python2.7/site-packages/libvirt.py", line 1062, in create
if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirtError: unsupported configuration: Unable to find security driver for …Run Code Online (Sandbox Code Playgroud) virtual-host ×13
ubuntu ×2
debian ×1
firefox ×1
http ×1
ip-address ×1
libvirt ×1
linux ×1
localhost ×1
macos ×1
php ×1
security ×1
ssh ×1
ssl ×1
subdomain ×1
virsh ×1
virtualbox ×1
web-hosting ×1