尝试通过Google Domainsconfiguration域名指向我的EC2 (Ubuntu服务器)实例时,我遇到了一个很大的问题。
我将nginx设置为反向代理服务于Django应用程序。 我还configuration了一个弹性IP与EC2实例关联。 当我访问弹性IP( 34.XXX.XXX.28 )时,我得到的应用程序就好了。 这告诉我,一切都在EC2实例(nginx,Django应用程序等)内正确configuration。
问题是当我访问我的域名在www.mydomain.com ,我得到这个页面:
欢迎来到nginx!
- 关于gmail SPFlogging和Alogging
- 如何在三个其他logging前设置Route 53 DNSlogging?
- 如何configurationSPFlogging以允许我的域下的所有主机名(Alogging)?
- 在公共DNS服务器的私人IP地址
- DigitalOcean DNS可以将新的cnamelogging与现有的通配符cnamelogging冲突
如果你看到这个页面,nginx web服务器已经成功安装并正常工作。 需要进一步的configuration。
有关在线文档和支持,请参阅nginx.org。 商业支持可在nginx.com上find。
感谢您使用nginx。
我很困惑为什么直接访问弹性IP工作,但通过域名( www.mydomain.com )访问将导致默认的nginx页面。 有人能指点我的方向吗?
这里是一些背景:
nginx被configuration为侦听端口80.这是我的configuration: upstream djangoapp { server unix:/var/www/run/djangoapp.sock; } server { listen 80; server_name 34.XXX.XXX.28; location / { proxy_set_header Host $host; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://djangoapp ; } location /static/ { alias /var/www/djangoapp/static/; autoindex on; } }
Nginx可以监听同一个IP地址上的多个网站,包括http和https。 现在,您可以监听对特定IP的请求,而不是域名。 解决的办法是指定你想要听的域名
server_name example.com www.example.com;
你通常应该只听一个域名。 子域名应该被转发到主域名,不pipewww或者根域是你认为的“主”,完全取决于你。
# Main server server { listen 80; server_name example.com; // Locations etc } server { listen 80; server_name www.example.com; return 301 https://example.com$request_uri; }
您也可以将任何给定的服务器阻止“默认服务器”。 这可能是您的站点的主要服务器块,或者它可能是另一个阻止您的服务器通过IP响应。 您可能不想回应IP,因为互联网不断扫描
server { listen 80 default_server; server_name 1.2.3.4 example.com; }
这是一个默认的服务器,拒绝stream量到您的IP不是由特定的服务器块处理
server { listen 80 default_server; server_name _; # Wildcard, any domain is served return 444; # This means "go away", effectively }
当您使用您的网站的公共IP时,它正在逃脱DNS。 你正在查看100%正确的东西,没有DNS之间的caching机制之间。 没有错误日志,完整configuration的精确细节可以说。 但Nginx的configuration是错误的,像其他人指出的, 显然Nginx有文档 。 在官方文档中给出configuration示例。 你会看到他们说类似的格式,像其他的答案,这里的评论。
只有我们可以说:
server_name www.your-domain-name.com; 来自nginx。 更正后,运行nginx -t config test,然后重新启动nginx才能生效。
Nginx正在监听IP地址。 您需要在“server_name”指令中添加您的域名。 然后重新加载nginx,它应该工作正常。