如何配置Nginx实现Web应用同时支持IP和域名访问
配置修改方法
要让Web应用同时支持IP和域名访问,只需调整Nginx配置中的server_name项即可,两种常用方案如下:
方案1:指定匹配的IP和域名
把你需要支持的所有IP、域名直接按空格分隔写在server_name后即可:
server { # 替换为实际的服务器IP、域名,多个值用空格分隔 server_name 你的服务器IP 你的域名 www.你的域名; location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_http_version 1.1; proxy_pass http://localhost:3000; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
方案2:设置为默认服务(匹配所有指向该服务器的请求)
如果需要让这个服务承接所有指向该服务器IP、未匹配到其他Nginx配置的Host请求,可以设置为默认服务:
server { listen 80 default_server; listen [::]:80 default_server; # 下划线表示匹配任意Host server_name _; location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_http_version 1.1; proxy_pass http://localhost:3000; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
修改完成后执行nginx -t检查配置语法是否正确,确认无误后执行nginx -s reload重载配置即可生效。
内容的提问来源于stack exchange,提问作者David Tembo
相关产品推荐
相关产品推荐

