LoginSignup
0
1

More than 1 year has passed since last update.

MAMPにSSLを設定する

Last updated at Posted at 2020-12-21

背景

SHOWROOM関連の自作Chrome拡張ツールでDBデータを取るためにajax通信を行う必要がある。
MAMPテスト環境はhttpのままで、apiは拡張ツールを使用するドメインはSSL化されておりMixed Contentが発生する。
対策としてMAMPの環境をSSL化してDBデータの取得を試みる

実施事項

windows opensslをダウンロード

windows opensslからダウンロード
※Win64 OpenSSL v1.1.1i Lightをダウンロードする
opensslにパスを通す(C:\Program Files\OpenSSL-Win64\bin)

秘密鍵ファイル(server.key)の作成

C:\MAMP\conf\apache に keysフォルダを作成する
C:\MAMP\conf\apacheをカレントディレクトとしコマンドプロンプトで下記を実行する

openssl genrsa 1024 > server.key

証明書署名要求(CSR)の作成

コマンドプロンプトで下記を実行する

openssl req -new -key server.key > server.csr

SSL サーバ証明書の作成

コマンドプロンプトで下記を実行する

openssl x509 -req -days 3650 -signkey server.key < server.csr > server.crt

httpd-ssl.conf 作成

MAMPは"C:\MAMP\bin\apache\conf\original\extra"にhttpd-ssl.confが存在するので"C:\MAMP\conf\apache\extra"にコピーする

httpd.confでhttpd-ssl.confをインクルードする

# Secure (SSL/TLS) connections
Include "C:\MAMP\conf\apache\extra\httpd-ssl.conf"

httpd-ssl.confの設定

#SSLSessionCache        "shmcb:/Apache22/logs/ssl_scache(512000)"
SSLSessionCache        "shmcb:c:\mamp\logs\ssl_scache(512000)"
------------------------------中略--------------------------------
# DocumentRoot "/Apache22/htdocs"
# ServerName www.example.com:443
# ServerAdmin admin@example.com
# ErrorLog "/Apache22/logs/error.log"
# TransferLog "/Apache22/logs/access.log"
DocumentRoot "c:\MAMP\htdocs"
ServerName local-set-tsuko.com
ServerAdmin admin@local-set-tsuko.com
ErrorLog "c:\mamp\logs\ssl_error.log"
TransferLog "c:\mamp\logs\ssl_access.log"
------------------------------中略--------------------------------
# SSLCertificateFile "/Apache22/conf/server.crt"
SSLCertificateFile "C:\MAMP\conf\apache\keys\server.crt"
------------------------------中略--------------------------------
# SSLCertificateKeyFile "/Apache22/conf/server.key"
SSLCertificateKeyFile "C:\MAMP\conf\apache\keys\server.key"
------------------------------中略--------------------------------
# <Directory "/Apache22/cgi-bin">
#     SSLOptions +StdEnvVars
# </Directory>
<Directory "C:\MAMP\cgi-bin">
    SSLOptions +StdEnvVars
</Directory>
------------------------------中略--------------------------------
#CustomLog "/Apache22/logs/ssl_request.log" \
CustomLog "c:\mamp\logs\ssl_request.log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
-----------------------------以下略--------------------------------

 

httpd-vhosts.confのバーチャルホスト設定

# <VirtualHost *:80>
#     DocumentRoot "C:\MAMP\htdocs\set_tsuko"
#     ServerName local-set-tsuko.com
#     <Directory "C:\MAMP\htdocs\set_tsuko">
#         AllowOverride all
#     </Directory>
# </VirtualHost>

<VirtualHost *:443>
    DocumentRoot "C:\MAMP\htdocs\set_tsuko"
    ServerName local-set-tsuko.com
    SSLEngine on
    SSLCertificateFile "C:\MAMP\conf\apache\keys\server.crt"
    SSLCertificateKeyFile "C:\MAMP\conf\apache\keys\server.key"
    <Directory "C:\MAMP\htdocs\set_tsuko">
        AllowOverride all
    </Directory>
</VirtualHost>

local-set-tsuko.comの安全でないコンテンツを許可するに設定する

証明書がオレオレ証明書なので上記を実施する
ブラウザの『サイトの設定』で設定する

結果

保護されていない通信と表示されるが、Mixed Contentの発生はなくなり目的のajax通信が可能となった

参考記事

Mac で MAMP に SSL(https://)を設定を参考に
httpdの設定(ssl.conf)※httpd-ssl.confの設定

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1