从WAN访问路由器上的NGINX

时间:2016-03-11 13:44:20

标签: nginx server router wan

我正在使用Shibby FW的番茄配置我的家用路由器ASUS N18U。我想建立一个家庭网络服务器NGINX。我知道,这不太理想。我唯一的问题是我无法从Wan访问服务器。此外,我有动态IP,我已经用DDNS服务解决了。它工作正常,如果我想访问路由器或SFTP的配置页面或当我键入myddnsdomain我在局域网内。我在我的调制解调器(来自ISP)上打开端口80,并将下面的代码添加到路由器(ASUS N18U)配置中,我不能只在管理员菜单中将其转发,因为它只允许转发到局域网(我的网络服务器在&#34上) ;路由器&#34)。

  

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

     

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

     

iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT

这些都没有解决我的问题。我也试过不同的端口。我跟踪它似乎,路由器阻止它。通过Wan IP访问我的服务器没有帮助。文件夹" www"是由任何人拥有。谢谢你的帮助



# NGinX generated config file
user    nobody;
worker_processes        1;
worker_cpu_affinity     0101;
master_process  off;
worker_priority 10;
error_log       /tmp/var/log/nginx/error.log;
pid     /tmp/var/run/nginx.pid;
worker_rlimit_nofile    8192;
events {
        worker_connections      512;
        }
http {
include /tmp/etc/nginx/mime.types;
include /tmp/etc/nginx/fastcgi.conf;
default_type    application/octet-stream;
log_format   main '$remote_addr - $remote_user [$time_local]  $status '
'"$request" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
sendfile        on;
client_max_body_size    100M;

server {
listen  80;
server_name     mydynamicdomain.net;
access_log      /tmp/var/log/nginx/access.log   main;
location        /       {
root    /tmp/mnt/CORSAIR/www;
index   index.html      index.htm       index.php;
error_page 404  /404.html;
error_page 500  502     503     504     /50x.html;
location        /50x.html       {
root    /tmp/mnt/CORSAIR/www;




3 个答案:

答案 0 :(得分:2)

  

解决

此示例将帮助您,因为我已通过以下iptable规则实现此目的

动态值: (根据您的环境值改变)

WAN接口: vlan10 LAN接口: br0

LAN Web服务器IP: 192.168.1.1 LAN Web服务器端口: 8080

路由器WAN IP: 192.168.10.129 路由器LAN IP 192.168.1.254

使用以上值插入规则:

<强> 1。港口转发规则

iptables -I FORWARD 1 -i vlan10 -p tcp -d 192.168.1.1 --dport 8080 -j ACCEPT    
iptables -A PREROUTING -t nat -i vlan10 -p tcp --dport 8080 -j DNAT --to 192.168.1.1

<强> 2。 NAT环回规则

iptables -t nat -A PREROUTING -i br0 -s 192.168.1.0/24 -d 192.168.10.129/32 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.1.1
iptables -t nat -A POSTROUTING -o br0 -s 192.168.1.0/24 -d 192.168.1.1/32 -p tcp -m tcp --dport 8080 -j SNAT --to-source 192.168.1.254

答案 1 :(得分:1)

今天我的番茄shibby路由器遇到了同样的问题。在端口85上运行将接受来自内部局域网而不是WAN的连接,因此我只是将端口85转发到10.0.0.1(我的路由器的局域网地址)并且它可以工作。

答案 2 :(得分:0)

尝试从WAN连接时遇到了同样的问题。端口转发到路由器的IP没有帮助。将此添加到Administration > Scripts > Firewall,然后重新启动整理出我的问题:

iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT