我在使用Phusion Passenger在我的局域网上部署Meteor应用程序时遇到了问题。 该应用程序在Ubuntu 16.04服务器上运行。
/etc/nginx/sites-enabled
中应用的配置为:
server {
listen 80;
server_name ubuntu64;
# Tell Nginx and Passenger where your app's 'public' directory is
root /var/www/appname/bundle/public;
# Turn on Passenger
passenger_enabled on;
# Tell Passenger that your app is a Meteor app
passenger_app_type node;
passenger_startup_file main.js;
# Tell your app where MongoDB is
passenger_env_var MONGO_URL mongodb://user:pwd@localhost:27017/appname;
# Tell your app what its root URL is
passenger_env_var ROOT_URL http://ubuntu64;
}
应用程序运行正常,我可以使用网络中其他PC的应用程序,但前提是我在浏览器的地址栏中键入了确切的服务器IP地址;如果我键入servername(“ubuntu64”)。如果我这样做,我会收到来自Ngnix的欢迎页面以及“需要进一步配置”的消息。
我应该如何更改配置,以便我可以使用servername打开应用程序,或者更确切地说使用“servername / appname”打开应用程序,因为我计划在同一台服务器上托管多个meteor应用程序。
编辑:来自日志文件/var/log/ngnix/access.log
的更多信息:
连接到“192.168.178.52”时我看到了这个:
192.168.178.77 - - [27/Sep/2017:13:43:58 +0200] "GET /sockjs/info?cb=oj4gdaujfh HTTP/1.1" 200 89 "http://192.168.178.52/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"
...这是连接到“ubuntu64”的时候:
2001:983:e6ab:1:10d3:c8ad:4f1e:23f - - [27/Sep/2017:13:49:40 +0200] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"
BTW,我现在看到第一行有一个ipV4地址,第二行有一个ipV6。这可能是(问题的一部分)吗?
答案 0 :(得分:1)
您的修改已澄清您的问题。您也应该允许虚拟主机监听IPv6。
这很容易:
server {
listen [::]:80 ipv6only=off; # added line
server_name ubuntu64;
# the rest of your config
}
有用信息:ngx_http_core_module : listen
documentation。
已添加:确保您的系统允许IPv6
套接字在IPv4+IPv6
模式下运行:
$ sysctl net.ipv6.bindv6only
net.ipv6.bindv6only = 0