在apache中使用mono与ssl
我有以下问题:在apache中使用mono与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:下面是完整的没有工作的配置:
<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>
我用单5.x的一次。从那次经历中我能记得,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
没有该节奇怪的错误出现。
如果我把目录放在mod_mono.conf文件中,我有问题,应用程序仍然可以访问没有ssl - 我想它只能通过ssl访问。 我的问题的措辞有点不好,我更新了它。 –
对于旧版本的Mono,您可以简单地在前面添加一个反向代理服务器,并将所有非HTTPS流量重定向到HTTPS。 –
什么版本的Mono? – mikep
我更新了问题 –