在steam 1中,可以使用以下代码访问ip地址:
request.peerAddress?.address()
这不再适用于Vapor 2。
答案 0 :(得分:3)
我认为在Vapor 2中它是request.peerHostname
答案 1 :(得分:1)
我知道这有点旧,但万一其他人来寻找答案,我想我会回答我发现的。
request.peerHostname
可以使用,但您需要在应用前使用代理(nginx)。如果您没有代理,则peerHostname始终返回0.0.0.0。
将nginx设置为您的Steam应用程序的代理,然后日志记录将起作用。您可以在Deploy下获取有关steam docs站点的更多信息。
我在/ etc / nginx / sites-available / default中设置nginx与此类似的东西:
server {
server_name hello.com;
listen 80;
root /home/vapor/Hello/Public/;
# Serve all public/static files via nginx and then fallback to Vapor for the rest
try_files $uri @proxy;
location @proxy {
proxy_pass http://127.0.0.1:8080;
proxy_pass_header Server;
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_pass_header Server;
proxy_connect_timeout 3s;
proxy_read_timeout 10s;
}
}
请务必配置您的nginx.conf文件以使用启用站点的目录,并从/ etc / nginx / sites-available / default创建一个链接到/ etc / nginx / sites-enabled / default。
你在nginx.conf文件中需要这样的东西:
##
# Virtual Host Configs
##
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;