有什么方法可以避免在nginx配置文件中写入服务器IP地址?"/>
nginx:有什么方法可以避免在nginx配置文件中写入服务器IP地址?
我在一个简单的快速应用程序中将nginx用作反向代理。在我的配置文件中,我已使用服务器ip(/)作为server_name。
但是有什么方法可以避免在不破坏任何内容的情况下在此文件中写入实际的服务器IP?
server {
listen 80 default_server;
server_name 45.33.97.232;
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass :3000; #port where you are serving your express app.
}
}
回答如下:是。通过在default_server
指令中设置listen
标志并将服务器名称设置为任何无效的域名。通常在nginx示例配置文件中使用名称_
,但这可以是任何无效的域名,例如!
等:
server {
listen 80 default_server;
server_name _;
...
}
有关此详细信息,请参见http://nginx/en/docs/http/server_names.html#miscellaneous_names。>>
请注意,有一个特殊的服务器名称具有附加含义。如果您需要为不发送Host
标头的客户端提供服务(例如HTTP / 1.0客户端),则可以使用空字符串来表示此服务器块是为此类客户端提供服务的服务器块。因此,可以将server_name设置为两个双引号(""
)以表示空字符串:
server { listen 80; server_name ""; ... }
尽管请注意,它不像上面的
_
那样充当通用域名。相反,它将捕获带有空主机头的请求。
更多推荐
nginx:有什么方法可以避免在nginx配置文件中写入服务器IP地址?
发布评论