EMS開発サーバー(RAD Server)環境 + nginxリバースプロキシ

  • 0
    Like
  • 0
    Comment
    More than 1 year has passed since last update.

    EMS開発実行環境をnginx(MacOS)リバースプロキシー

    RAD Studio 10.1 BerlinをMacOS内VM(Windows)にインストールしている場合
    モバイルから接続テストできない場合があります
    (かと言ってNATするのは嫌、VMの設定変えるのも嫌)

    MacOS側にnginxをインストールしリバースプロキシーしEMSサーバー(RAD Server)を
    プライベートLANからも参照できるようにする

    MacOSにnginxインストール

    brewがある場合

    $ brew install nginx
    

    nginxはこれでインストール完了。
    brewがMacOSにインストールされていない場合は
    http://brew.sh/ ここを見る

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    

    RAD Server(EMSサーバー)新規プロジェクトを作成

    [新規プロジェクト]→[その他]→[EMSパッケージ]
    2016-11111729.png

    ●リソースを含むパッケージにチェック
    2016-11-111737.png
    次へ

    ●リソースの名前を決めます
    2016-1111802_.png

    EMSで作成したプロジェクトをプログラム実行

    2016-11-111828.png
    これで8080ポート問い合わせが可能になります http://localhost:8080

    EMS開発コンソールを起動します

    2016-11-111945.png
    http://localhost:8081 問い合わせ可能になります

    nginxをリバースプロキシー設定する

    cd /usr/local/etc/nginx #MAcOSはこの辺に設定があるらしい
    vi nginx.conf           #設定ファイルを開く
    

    virtual hostあたりの設定を下記のようにする

    server {
            listen       8080;
            proxy_set_header    X-Real-IP       $remote_addr;
            proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header    Host            $http_host;
            proxy_redirect      off;
            proxy_max_temp_file_size    0;
            location / {
                proxy_pass http://VM側のIP:8080;
            }
    }
    server {
            listen       8081;
            proxy_set_header    X-Real-IP       $remote_addr;
            proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header    Host            $http_host;
            proxy_redirect      off;
            proxy_max_temp_file_size    0;
            location / {
                proxy_pass http://VM側のIP:8081;
            }
    }
    

    nginx起動

    sudo nginx         #nginx起動
    
    sudo nginx -s stop #nginx停止の場合
    
    

    結果

    MacOS側から http://localhost:8080/リソース名 とすると
    `http://localhost:8080/test1'
    2016-11-112008.png
    EMS開発サーバーのリソースを参照している事が確認できます

    `http://localhost:8081' 管理側をMacOS側からSafariで確認する事ができます
    2016-11-112011.png

    参考

    http://qiita.com/murachi1208/items/d04797b0b61e69018938
    http://qiita.com/mojeld/items/84f97605268fe9f3ce47