我有一个用Go编写的简单HTTP服务器。如何使用nginx运行Go http服务器
在开发中它工作正常,但对于生产,这台服务器一次处理100个请求,我需要一个适当的Web服务器,如nginx。
我怎么能把它放在nginx后面?
我有一个用Go编写的简单HTTP服务器。如何使用nginx运行Go http服务器
在开发中它工作正常,但对于生产,这台服务器一次处理100个请求,我需要一个适当的Web服务器,如nginx。
我怎么能把它放在nginx后面?
我猜你需要一个简单的反向代理配置。
比方说你走的HTTP服务器监听http://example.com:8080
:
server {
listen 80;
server_name example.com;
location/{
proxy_pass http://example.com:8080;
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_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Connection "";
}
}
感谢这工作,只有一件事,当我在做req.remoteAddr我得到127.0.0.1不是正确的IP。 任何想法如何解决它? –
寻找'X-Real-IP'头,我们在那里嵌入remoteaddr。 –
我建议添加'proxy_http_version 1.1;'和'proxy_set_header连接“”;'启用keepalive。否则,您将为每个请求打开一个新连接。请参阅:http://nginx.org/en/docs/http/ngx_http_upstream_module.html#keepalive – snap
你尝试谷歌?如果是的话,请添加你尝试过的以及它没有工作的地方? –
我没有找到简单直接的解决方案,因此我在这里发布它,因为我是这些服务器部署的新手。 –
stdlib包含的“正确的Web服务器”多于一次能够处理100个请求。 – Danilo