yuusuke-roughの日記

Java,SpringBoot,趣味等

IP2Locationでハマった経過①

 

【内容】

製作しているアプリが国内からのみのアクセスを想定しているため、先週から海外IPを弾く実装をする挑戦をしていました。

https://blog.ip2location.com/knowledge-base/how-to-use-ip2location-geolocation-with-nginx/

動的モジュールとしてNginxに取り入れるため、-dynamicをつける事以外は、上記記事と同じ実装をしました。

nginx: [emerg] module "/usr/local/lib/ngx_http_ip2location_module.so" is not binary compatible in /etc/nginx/nginx.conf:9

出てきたのが、上記エラー...

調べると、

is not binary compatible · Issue #82 · leev/ngx_http_geoip2_module · GitHub

NginxのフラグをIP2Locationをビルドする際にも取り込まなくてはいけないようです。

 

nginx-1.9.11で動的モジュールをサポート - インフラエンジニアway - Powered by HEARTBEATS

 

→会社の方からIPアドレスホワイトリストで実装する方法を教えていただきました。

 

【余談】

JavaGoldの学習も行います。

JavaSilverを受けたのは二年前で、忘れてしまい危機感を持ちました。

 

フィールドやメソッドにおけるstaticの仕組み

・クラスがロードされたタイミングでstatic領域に配置

インスタンス生成無しで利用可

※通常のクラスはヒープ領域にインスタンスを生成する

 

ローカルクラス

・修飾子はfinalとabstractのみ許可される

・ローカルクラスを宣言したメソッドのローカル変数を扱うための条件は

①変数は実質的にfinalでないといけない。

②変数の宣言はローカルクラスの記述の前にされている事。