如何修改Nginx配置以通过IP+端口替代域名托管服务
修改Nginx配置以支持IP+端口访问
没问题,我帮你把配置调整好,满足你通过79.180.12.54:3009访问后端服务(运行在127.0.0.1:3009)的需求,具体修改如下:
需要调整的三个核心点:
- 监听端口:让Nginx监听3009端口,这样外部请求才能通过这个端口进来
- server_name设置:匹配你的公网IP地址
- 反向代理目标:指向你新的服务端口
修改后的完整配置:
server { listen 3009; server_name 79.180.12.54; access_log off; error_log off; location / { proxy_pass http://127.0.0.1:3009; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_max_temp_file_size 0; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } }
额外说明:
- 如果之后你还需要通过其他域名或IP访问,也可以把
server_name改成_;,这样Nginx会匹配所有主机名的请求(不过指定具体IP更安全,避免无关请求进入这个server块)。 - 修改完成后,先验证配置是否合法:
nginx -t - 验证通过后重启Nginx生效:
systemctl restart nginx # 或者用 service nginx restart (取决于你的系统)
内容的提问来源于stack exchange,提问作者Anton




