如何从网络外部查看我的网站?我正在使用nginx

时间:2015-04-24 04:07:24

标签: nginx proxy raspberry-pi server

我正在尝试使用nginx运行一个覆盆子pi的网站。我已经端口转发到端口8080,并允许我的防火墙中的端口。我可以访问我的局域网上的网站没问题,但我尝试从网络外的计算机访问该网站时收到错误消息。 isup.me说我的网站已启动,但是任何代理服务器都说不允许从我的网站查看网站。我的nginx.conf文件如下:

opacity

}

这是我的$ sites-available / thomaswurdinger.com配置(软链接到$ sites-enabled / thomaswurdinger.com):

user www-data;
worker_processes 2;
pid /var/run/nginx.pid;

events {
    worker_connections 768;
    # multi_accept on;
}

http {

    ##
    # Basic Settings
    ##

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    client_header_timeout 10;
    client_body_timeout   10;
     keepalive_timeout     10 10;
    send_timeout          10;
    types_hash_max_size 2048;
    server_tokens off;

    # server_names_hash_bucket_size 64;
    # server_name_in_redirect off;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;


    ##
    # Logging Settings
    ##
    access_log /var/log/nginx/access.log;
    error_log /var/log/nginx/error.log;

    ##
    # Gzip Settings
    ##

    gzip on;
    gzip_disable "msie6";

     gzip_min_length   1100;
     gzip_vary on;
     gzip_proxied any;
     gzip_comp_level 6;
     gzip_buffers 16 8k;
     gzip_http_version 1.1;
     gzip_types  text/plain text/css applciation/jsonapplication/xjavascript
     text/xml applcation/xml application/rss+xml text/javascript 
     images/svg+xml application/x-font-ttf font/opentype application/vnd.ms-
     fontobject;                                           
    ##
    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;

我的域名是使用namecheap注册的,它使用重定向将流量转发到192.168.0.7:8080。请帮忙。

1 个答案:

答案 0 :(得分:0)

如果您确定可以从局域网内访问您的站点,则问题可能与您的路由器/防火墙设置有关,以代理您的RaspberryPi服务器。

你应该:

  • 仔细检查并确保您的域名(thomaswurdinger.com/www.thomaswurdinger.com)映射到您的WAN静态IP地址(即具有映射到域名的WAN静态IP的A记录)。
  • 配置路由器/防火墙,将来自WAN 8080端口的所有传入流量定向到您的Rpi服务器192.168.0.7(或您的Rpi设备正在使用的任何IP)。显然,您还需要确保防火墙接受并且不阻止端口8080上的TCP连接。

192.168.0.x的IP地址只能在局域网内使用。

从外面,使用:

RaspberryPi上的接口设置

假设你的Rpi正在运行像“Rasbian”这样的基于Debian的操作系统,你的/etc/network/interfaces应该包含Rpi服务器的静态IP:

iface eth0 inet static
      address 192.168.0.7
      netmask 255.255.255.0

这就是您需要确保服务器在LAN内部具有静态IP。它应该可以从局域网内部访问。

但请注意,192.168.x.x范围的地址仅用于私有内部网络。有关详细信息,请参阅维基百科上的以下文章:Private network。从您的LAN可以访问它们。

路由器/防火墙设置允许连接到Rpi服务器

要允许访问您的LAN服务器(Rpi服务器为192.168.0.7),您应该配置路由器/防火墙以允许从WAN进入LAN的请求:

WAN (Internet) -> request -> router/firewall -> redirect to 192.168.0.7

如何配置您的路由器/防火墙取决于您拥有的设备 - 它可能是来自您的ISP,Apple Extreme或重型Cisco / HP路由器等的小型调制解调器/路由器。通常您可以配置您的路由器(也可用作防火墙)使用某种基于Web的界面。

您应该确保有一个防火墙规则,说明进入目标端口 8080 TCP 请求被重定向到 192.168.0.7 (这是你的RaspberryPi)。

将您的域映射到WAN静态IP地址的DNS设置

假设您拥有静态WAN IP地址 - 例如11.22.33.44 - 您应该将您的域名映射到注册商DNS记录中的IP。它应该是这样的(这只是一个示例域和IP - 替换你的真实域):

yourdomain.com.   1800   IN  A   11.22.33.44
www.yourdomain.com.   1800   IN  A   11.22.33.44

(使用namecheap.com的基于Web的DNS主机记录仪表板来修改您的A记录。)

(如果您没有来自服务提供商的静态IP,您可能会运气不好。有些服务提供动态DNS,但我没有使用过。)

所有这些假设您的nginx设置正常运行。因此,您的设置问题并不在于nginx,而在于您的DNS和路由器/防火墙配置。

相关问题