Назад | Перейти на главную страницу

Nginx не может работать на портах, отличных от 80

У меня Ngxin работал нормально. Но теперь я хочу сменить свой сайт на другой порт. Я пробовал с моим сайтом Drupal и моим сайтом php скриптов. Оба не работают.

Мой вид прост.

server
{
  listen       81;
  server_name  wiki.domain.com;
  index        index.php index.html index.htm;
  root         /opt/www/domain_wiki;
  error_page 404 = @drupal;

  location @drupal {
     rewrite ^/(.*)$ /index.php?q=$1 last;
  }

  location ~ .*\.(php|php5)?$
  {
    fastcgi_pass  127.0.0.1:9000;
    fastcgi_index index.php;
    include       fastcgi.conf;
  }
  access_log logs/domain_wiki.log main;
}

Я только изменил 80 на 81.

Пытался проверить порт. Вроде нормально.

# nc -z localhost 81
Connection to localhost 81 port [tcp/hosts2-ns] succeeded!

Перезагружаю, перезагружаю, -t Nginx. Все в порядке.

Идеи?

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:http
RH-Firewall-1-INPUT  all  --  anywhere             anywhere

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
RH-Firewall-1-INPUT  all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain RH-Firewall-1-INPUT (2 references)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere
ACCEPT     icmp --  anywhere             anywhere            icmp any
ACCEPT     esp  --  anywhere             anywhere
ACCEPT     ah   --  anywhere             anywhere
ACCEPT     udp  --  anywhere             224.0.0.251         udp dpt:mdns
ACCEPT     udp  --  anywhere             anywhere            udp dpt:ipp
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ipp
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTAB                                 LISHED
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:f                                 tp
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:s                                 sh
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:h                                 ttps
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:h                                 ttp
REJECT     all  --  anywhere             anywhere            reject-with icmp-ho                                 st-prohibited

У вас есть файервол? У вас есть что-нибудь еще, слушающее порт 81? Вы используете SELinux?

В nginx нет ничего, что могло бы вызвать подобные проблемы, поэтому вы ищете что-то на уровне ОС.

Убедитесь, что правила iptables также разрешают трафик на ваш компьютер по TCP / 81.

Например:

Разрешить трафик от кого угодно

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