2017-07-25 36 views
1

私は以下の問題があります:Apacheでsslでモノを使用する

sslでモノアプリケーションにアクセスしたいです。私はそれがSSLなしでアクセスできないようにしたい。私はこのような作業を設定してい現時点でapache2.4とMOD-モノserver4.exe 3.0.0.0

を使用しています

<VirtualHost *:80> 

    DocumentRoot /srv/www/htdocs/my-mono-app 

    #SSLEngine on 
    #SSLCertificateFile /path/to/key.pem 
    #SSLCertificateKeyFile /path/to/key.pem 

    MonoAutoApplication disabled 

    MonoServerPath my-mono-app "/usr/bin/mod-mono-server4" 

    MonoApplications my-mono-app "/my-mono-app:/srv/www/htdocs/my-mono-app" 

    <Directory /srv/www/htdocs/my-mono-app> 
     Require all granted 
     MonoSetServerAlias my-mono-app 
     SetHandler mono 
    </Directory> 
</VirtualHost> 

しかし、すぐに私が回すとSSLEngineをオンにしてポートを443に変更すると、それ以上動作しません。それはちょうど言う:Object not found!私はアドレスに移動する場合。

ログにエラーは記録されません。

お願いします。

PS:私は一度モノ5.xのを使用

<VirtualHost *:443> 

    DocumentRoot /srv/www/htdocs/my-mono-app 

    SSLEngine on 
    SSLCertificateFile /path/to/key.pem 
    SSLCertificateKeyFile /path/to/key.pem 

    MonoAutoApplication disabled 

    MonoServerPath my-mono-app "/usr/bin/mod-mono-server4" 

    MonoApplications my-mono-app "/my-mono-app:/srv/www/htdocs/my-mono-app" 

    <Directory /srv/www/htdocs/my-mono-app> 
     Require all granted 
     MonoSetServerAlias my-mono-app 
     SetHandler mono 
    </Directory> 
</VirtualHost> 
+0

Monoのバージョンは? – mikep

+0

私は質問を –

答えて

0

:ここでは、完全に動作していない構成です。私が思い出すことのできるその経験から、mod_mono.confはディレクトリパスの変更が必要でした。私はApacheのアクセスとエラーログからその解決策に達しました。私は地球全体を探索する前に、多くの方法を試しました。シンボリックリンク、パージインストール、ソースからのビルドなど。mod_mono.confのバックアップを取って自分の道を試すことができます。

<IfModule !mono_module> 
    LoadModule mono_module "libexec/apache2/mod_mono.so" 
</IfModule> 

<IfModule mono_module> 
    AddType application/x-asp-net .config .cs .csproj .dll .resources .resx .sln .vb .vbproj 
    AddType application/x-asp-net .asax .ascx .ashx .asmx .aspx .axd .browser .licx .master .rem .sitemap .skin .soap .webinfo 

    MonoAutoApplication enabled 
    MonoDebug true 
    MonoServerPath "/usr/bin/mod-mono-server4" 
    MonoSetEnv LANG=fr_FR.UTF-8 
    MonoUnixSocket "/tmp/.mod_mono" 

    <IfModule dir_module> 
     DirectoryIndex Default.aspx 
    </IfModule> 

    <DirectoryMatch "/(bin|App_Code|App_Data|App_GlobalResources|App_LocalResources)/"> 
     Order deny,allow 
     Deny from all 
    </DirectoryMatch> 

    <Location "/my-mono-app"> 
     Order deny,allow 
     Deny from all 
     Allow from 127.0.0.1 ::1 
     SetHandler mono-ctrl 
    </Location> 
</IfModule> 

これはコメントとして書くには大きすぎて、おそらく100%正当な答えではない、試しに応じています。あなたの設定のそれは正しいです:

Require all granted 
MonoSetServerAlias my-mono-app 
SetHandler mono 

そのスタンザの奇妙なエラーが表示されません。

+0

に更新しました。もしmod_mono.confファイルにディレクトリを置くと、アプリケーションにはまだsslがなくてもアクセスできるという問題があります - そして、ssl経由でしかアクセスできないようにしたいと思います。 私の質問で言葉遣いが少し悪かった、私はそれを更新しました。 –

+0

旧バージョンのMonoの場合は、リバースプロキシサーバーを前面に追加して、HTTPS以外のすべてのトラフィックをHTTPSにリダイレクトするだけです。 –