获取使用nginx代理后的真实IP地址

/**
     * 获取访问者IP
     * 
     * 在一般情况下使用Request.getRemoteAddr()即可,但是经过nginx等反向代理软件后,这个方法会失效。
     * 
     * 本方法先从Header中获取X-Real-IP,如果不存在再从X-Forwarded-For获得第一个IP(用,分割),
     * 如果还不存在则调用Request .getRemoteAddr()。
     * 
     * @param request
     * @return
     */
    public static String getIpAddr(HttpServletRequest request) {
        String ip = request.getHeader("X-Real-IP");
        if (!StringUtils.isBlank(ip) && !"unknown".equalsIgnoreCase(ip)) {
            return ip;
        }
        ip = request.getHeader("X-Forwarded-For");
        if (!StringUtils.isBlank(ip) && !"unknown".equalsIgnoreCase(ip)) {
            // 多次反向代理后会有多个IP值,第一个为真实IP。
            int index = ip.indexOf(',');
            if (index != -1) {
                return ip.substring(0, index);
            } else {
                return ip;
            }
        } else {
            return request.getRemoteAddr();
        }

    }

转载:http://www.cnblogs.com/hongten/archive/2012/07/08/java_web_ip.html

在Windows环境下使用Nginx部署Vue项目,需要进行以下步骤: 1. 将构建好的Vue项目的dist文件夹上传到Nginx服务器上。 2. 修改Nginx的配置文件nginx.conf,可以通过编辑D:/software/nginx-1.17.10/conf/nginx.conf文件来实现。在server块中添加以下配置: ``` server { listen 80; // 端口 server_name localhost; // 本地IP location / { root D:/software/nginx-1.17.10/html/dist; // 打包项目地址 try_files $uri $uri/ /index.html last; // 指向index.html index index.html; } } ``` 3. 保存并关闭nginx.conf文件。 4. 重启Nginx服务,可以使用命令`taskkill /f /t /im nginx.exe`来关闭所有Nginx服务器进程,然后使用`D:/software/nginx-1.17.10/nginx.exe`来启动Nginx服务。 5. 如果在Vue项目中使用了history模式导致404错误,可以在Nginx的配置文件中的location块中添加以下代码来解决: ``` try_files $uri $uri/ /index.html; ``` 这样就可以将Vue项目成功部署到Windows环境下的Nginx服务器上了。 #### 引用[.reference_title] - *1* [使用Nginx部署Vue项目超详细图文教程!含踩坑步骤!](https://blog.csdn.net/weixin_43314519/article/details/115151858)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Windows nginx 部署 vue项目](https://blog.csdn.net/yangqii/article/details/106378835)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Windows 使用 Nginx 部署 vue 项目](https://blog.csdn.net/Wxin0721/article/details/124629822)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值