У меня была такая же проблема, и я не нашел решения, но мне удалось реализовать обходной путь через ipfw :
Сначала у вас есть nginx для прослушивания другого порта. Я добавил 10080 и 10443 в качестве дополнительных портов:
server {
listen 80 default_server;
listen 10080 default_server;
listen 443 default_server ssl;
listen 10443 default_server ssl;
...
}
Я оставил порты по умолчанию (80 и 443) для доступа с локальной машины (localhost).
После этого я добавил 2 правила пересылки через ipfw:
fwd 127.0.0.1,10080 tcp from any to me dst-port 80
fwd 127.0.0.1,10443 tcp from any to me dst-port 443
Самый простой способ сделать это через WaterRoof . Кроме того, вы должны включить ip-forwarding в ядре:
sudo sysctl -w net.inet.ip.forwarding=1
Чтобы сделать это постоянным, вы можете добавить следующее в /etc/sysctl.conf:
net.inet.ip.forwarding=1
Теперь весь трафик извне перенаправляется на новые порты, которые прослушивает nginx, и вы сможете получить к нему доступ с других машин.