5
我有一個運行在Tomcat中的Java servlet應用程序,有一個管理命令我只想從中運行機器本身(或者也可能是我自己的電腦)出於安全原因。因此,要執行這個我檢查HttpServletRequest的,我接受,但遠程地址它總是返回即使請求沒有從本地主機從遠程機器訪問時爲什麼request.getRemoteAddr()。equals(「127.0.0.1」)
爲什麼會這樣,我可以修復它還是有未來127.0.0.1另一種僅從服務器運行我的管理命令的方法。
你能否粘貼一些你的代碼並解釋你在哪裏試圖執行這個檢查? – Scis
在它運行的機器(例如nginx)上的tomcat前面是否有東西轉發請求?試着看看'X-Forwarded-For'標題。 –
@Jonas Adler,謝謝是的,當我從服務器運行而不是我的homepc時,x-forwarded-for的值是不同的(儘管當我從我的家用電腦運行時,它的值不匹配我的家用電腦ipaddress),所以我想我應該請檢查x-forwarded-for的值,並限制對我的服務器計算機的訪問。 –