我已经尝试通过路由器进行端口转发,并且还禁用了我的防火墙。 我还编辑了httpd.conf。我改变了
Listen 80
到
Listen 8080
我还将ServerName从localhost:80
更改为<private-ip>:80 i.e 192.168.1.2:80.
最后我改为
Order Allow,Deny
Allow from all
在offlineonline标签中。 我有DLink DSL-2730U。在高级设置中&gt; NAT&gt; <外部端口开始8080和结束8080>内部端口启动8080和结束8080&gt;服务器IP保持为192.168.1.2 然后重新启动所有服务,即路由器和wamp。 但我仍然无法通过我的公共IP访问wamp,即59.95.81.56。
答案 0 :(得分:10)
这应该是左键单击WAMPManager菜单并单击Put online
的简单情况。
这样做会改变httpd.conf
的这一部分:
如果使用Apache 2.2.x
# onlineoffline tag - don't remove
Order Deny,Allow
Deny from all
Allow from 127.0.0.1 ::1 localhost
对此:
# onlineoffline tag - don't remove
Order Allow,Deny
Allow from all
如果使用Apache 2.4.x
# onlineoffline tag - don't remove
Require local
对此:
# onlineoffline tag - don't remove
Require all granted
严格来说,这就是你应该做的所有事情!
但是你已经做了一些手工搞乱httpd.conf,这里有一些你需要检查的东西。我假设您想将端口更改为8080,而不是因为某种原因认为您必须这样做。如果您不想将端口号更改为8080,请在以下信息中使用80而不是8080.更改为8080只会让您的用户的生活更加复杂,但如果这只是一个并不重要的游戏网站,我想。 / p>
<强>的httpd.conf 强>
# as your router probably does not support IPV6 change so apache only listens on IPV4
# you dont need to put the actual ip address of this PC in here as you say you did.
Listen 0.0.0.0:8080
# ServerName port need to match the Listen, your question made me think you may have left this as localhost:80
ServerName localhost:8080
如果使用Apache 2.2.x
# Assuming your site is in c:\wamp\www ( this section should already exist I just removed all the comments for brevity)
<Directory "d:/wamp/www/">
Options Indexes FollowSymLinks
AllowOverride all
#
# Controls who can get stuff from this server.
#
# onlineoffline tag - don't remove
Order Allow,Deny
Allow from all
</Directory>
如果使用Apache 2.4.x
# Assuming your site is in c:\wamp\www ( this section should already exist I just removed all the comments for brevity)
<Directory "d:/wamp/www/">
Options Indexes FollowSymLinks
AllowOverride all
#
# Controls who can get stuff from this server.
#
# onlineoffline tag - don't remove
Require from all
</Directory>
如果您犯了更改此部分的常见错误,请将其更改回此处,或者您将向任何人提供对C:\的访问权限。
如果使用Apache 2.2.x
<Directory />
Options FollowSymLinks
AllowOverride None
Order Deny,Allow
Deny from all
</Directory>
如果使用Apache 2.4.x
<Directory />
Options FollowSymLinks
Require all denied
</Directory>
我希望这里的某些内容让你偶然发现你的错误或遗漏。
编辑:其他信息
phpMyAdmin受到保护,不会像这样窥探:
编辑c:\ wamp \ alias \ phpmyadmin.conf
Alias /phpmyadmin "d:/wamp/apps/phpmyadmin3.5.1/"
# to give access to phpmyadmin from outside
# replace the lines
#
# Order Deny,Allow
# Deny from all
# Allow from 127.0.0.1
#
# by
#
# Order Allow,Deny
# Allow from all
#
<Directory "d:/wamp/apps/phpmyadmin3.5.1/">
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
</Directory>
请参阅第Allow from 127.0.0.1
行,它可以阻止与使用它的数据库不在同一台PC上的任何人。
因此,如果您尝试从互联网访问它,它将无法正常工作。
我想你可以TEMPORARILY将其改为:
Order Allow,Deny
Allow from all
或者更好的是,如果你知道你要从哪里测试它的IP地址,那就
Order Deny,Allow
Deny from all
Allow from 127.0.0.1 ::1 localhost
Allow from xxx.yyy.zzz.aaa
其中xxx.yyy.zzz.aaa是您的朋友IP地址。
答案 1 :(得分:0)
我在here得到了答案。
我在其他解决方案中遗漏的部分是下面的Configurtion:
将服务器配置为每个人都可以访问
最后一步!打开你的httpd.conf并找到这一行:
ServerName localhost:80
将其更改为:
ServerName <your private IP>:80
示例:
ServerName 192.168.1.27:80
答案 2 :(得分:0)
除了RiggsFolly的回答,您还可以在防火墙中打开一个端口,而不是取消它。
防火墙可以保护您免受许多事情的侵害,并且它会使您的计算机更容易受到攻击