7

我已经尝试通过路由器进行端口转发,并且还禁用了我的防火墙。我还编辑了 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

在离线在线标签中。我有 DLink DSL-2730U。在高级设置> NAT > 外部端口开始 8080 和结束 8080> 内部端口开始 8080 和结束 8080> 服务器 ip 我保持为 192.168.1.2 然后重新启动所有服务,即路由器和 wamp。但是我仍然无法通过我的公共 IP 59.95.81.56 访问 wamp。

4

3 回答 3

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 只会让您的用户的生活更加复杂,但如果这只是一个游戏站点,我想这并不重要。

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 上的任何人的行。

因此,如果您尝试从 Internet 访问它,它将无法正常工作。

我想您可以暂时将其更改为:

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 地址。

于 2013-10-02T14:04:37.047 回答
0

我在这里得到了答案。

我在其他解决方案中错过的部分是下面的配置:

将服务器配置为所有人都可以访问

最后一步!打开你的 httpd.conf 并找到这一行:

ServerName localhost:80

将其更改为:

ServerName <your private IP>:80

例子:

ServerName 192.168.1.27:80
于 2014-05-06T11:32:21.840 回答
0

除了 RiggsFolly 的回答,您可以在防火墙中打开一个端口,而不是禁用它。

防火墙可以保护您免受许多事情的影响,禁用它会使您的计算机更容易受到黑客攻击

在 Windows 防火墙中打开端口

于 2015-09-30T16:19:02.823 回答