标签: apache2

带有WSGI的Apache2上的SSL

我正在尝试在我维护的Django站点上设置SSL,并且在使用SSL设置我的VirtualHost时遇到一些麻烦.我按照这里的说明操作,但每次尝试重新启动apache时,都会告诉我由于多个虚拟主机使用相同的wsgi配置而无法重启:

/etc/init.d/apache2 reload
Syntax error on line 33 of /etc/apache2/sites-enabled/www.mydomain.com:
Name duplicates previous WSGI daemon definition.
...fail!
Run Code Online (Sandbox Code Playgroud)

我理解发生了什么,而不是如何解决它.任何建议表示赞赏,谢谢!这是我的VirutalHosts文件的样子:

<VirtualHost *:80>
    ServerAdmin my@email.com
    ServerName mydomain.com
    ServerAlias www.mydomain.com
    DocumentRoot /sites/mydomain

    # WSGI Settings
    WSGIScriptAlias / /sites/mydomain/wsgi_handler.py
    WSGIDaemonProcess mydomain user=myuser group=mygroup processes=1 threads=1
    WSGIProcessGroup mydomain

    # Static Directories
    Alias /static /sites/mydomain/static/
    <Location "/static">
            SetHandler None
    </Location>

    Alias /img /sites/mydomain/img/
    <Location "/img">
            SetHandler None
    </Location>

</VirtualHost>

<VirtualHost *:443>
    ServerAdmin my@email.com
    ServerName mydomain.com
    ServerAlias www.mydomain.com
    DocumentRoot /sites/mydomain

    # WSGI Settings
    WSGIScriptAlias …
Run Code Online (Sandbox Code Playgroud)

ssl wsgi apache2

43
推荐指数
2
解决办法
2万
查看次数

如何在laravel 5中将公用文件夹更改为public_html

我正在使用一个共享主机,它使用cPanel作为其控制面板,而cPanel public_html是默认的根目录,因此我无法使我的Laravel应用程序正常工作.

有没有办法让Laravel使用public_html而不是公用文件夹?

php apache2 cpanel laravel-5

43
推荐指数
6
解决办法
5万
查看次数

使用SSL代理

我有一台运行Apache的Linux主机和一台运行IIS的Windows主机.我有一个指向Linux主机的域,需要将其中继(代理)请求发送到IIS; 因此我在Apache中有以下虚拟主机定义(工作正常):

<VirtualHost 192.168.0.2:80>
    ServerName www.acme.com
    DocumentRoot /var/www/acme.com

    RewriteEngine On
    RewriteOptions Inherit
    RewriteRule ^/(.*) http://win.acme.com/$1 [P]
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

现在我想添加SSL支持; 定义变为:

<VirtualHost 192.168.0.2:443>
    ServerName www.acme.com
    DocumentRoot /var/www/acme.com
    GnuTLSEnable On
    GnuTLSPriorities NORMAL:%COMPAT
    GnuTLSCertificateFile /var/www/ssl/www.acme.com.crt
    GnuTLSKeyFile /var/www/ssl/www.acme.com.key

    RewriteEngine On
    RewriteOptions Inherit
    RewriteRule ^/(.*) https://win.acme.com/$1 [P]
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我在两个Web服务器上都有有效且可信的证书,如果我访问https://win.acme.com一切都很好,但是,当我访问时,https://www.acme.com我收到500内部服务器错误消息.查看错误日志显示:

[Wed Jul 20 08:35:34 2011] [错误] [客户端76.168.166.70] SSL代理请求www.wileybits.com:80但未启用[提示:SSLProxyEngine] [Wed Jul 20 08:35:34 2011] [error] proxy:HTTPS:无法为74.166.186.70:443启用ssl支持(win.acme.com)

请注意代理请求似乎是针对错误的域(wileybits)...它显示的域也由我的Apache服务器托管,但我不知道为什么它出现在acme.com的日志中(反向也许是DNS查找?)

无论如何,我错过了什么?

提前谢谢 - ekkis

ps主机名和地址已被修改,以保护无辜:)

*更新*

有:

RewriteRule ^/(.*) https://win.acme.com/$1 [R,L]
Run Code Online (Sandbox Code Playgroud)

它似乎工作正常,但当然,Windows的主机名变得可见,这在我的场景中是不可接受的

我也试过(而不是mod_rewrite):

ProxyRequests Off
ProxyPass / …
Run Code Online (Sandbox Code Playgroud)

mod-rewrite apache2 virtualhost mod-proxy ssl-certificate

42
推荐指数
1
解决办法
6万
查看次数

X-Pad:避免apache添加的浏览器bug头

我看到这个标头附加到apache的响应中.它在新时代的浏览器中是否有任何意义; 或者仅仅是为了规避旧版Netscape中的错误.看起来很奇怪.

编辑

我正在对我们的应用程序进行性能测试,当我在Jmeter响应文本中看到时,有一个奇怪的标题返回.它说:

X-pad: avoid browser bug
Run Code Online (Sandbox Code Playgroud)

而已!所以我尝试了一些谷歌搜索,似乎为Netscape浏览器的bug添加了一个标题.无论如何,我仍然很好奇,因为我们离这些版本的浏览器太远了(谢天谢地),有没有一个坚实的理由,它仍然存在.我们使用apache2.

希望这些细节有所帮助.

干杯

header apache2

42
推荐指数
1
解决办法
1万
查看次数

禁止Apache2虚拟主机403?

我在桌面上运行ubuntu 13.04 64bit,我安装了Apache2,MySQL和PHP等.

我想让我的网络根目录/home/afflicto/public_html而不是/var/www.于是我就跟着去了本指南:
http://www.maketecheasier.com/install-and-configure-apache-in-ubuntu/2011/03/09
(我所做的一切,从"配置不同的网站"),因为我喜欢解决更多.

这就是我所做的:
安装Apache2,MySQL等..
复制/etc/apache2/sites-avaliable/default/etc/apache2/sites-available/afflicto.然后编辑它,它现在看起来如下:

在/ etc/apache2的/网站可用/ afflicto

<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /home/afflicto/public_html
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>
<Directory /home/afflicto/public_html/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel …
Run Code Online (Sandbox Code Playgroud)

ubuntu apache2 virtualhost http-status-code-403

42
推荐指数
2
解决办法
9万
查看次数

如何找到Apache在Linux中使用的MPM模型(worker,prefork或event)

在哪里可以获得有关Apache Linux系统中使用何种MPM的信息?

apache apache2

38
推荐指数
4
解决办法
5万
查看次数

NameVirtualHost*:80没有VirtualHosts

我有两个域名,两个ssl证书和两个IP地址.我正在尝试为他们配置我的apache虚拟主机文件.

首先,我注释掉了端口80和443的所有"NameVirtualHost"和"Listen"实例.然后我用我的虚拟主机文件做了以下操作.

domain1的VirtualHost文件:

NameVirtualHost 1.1.1.1:80
Listen 1.1.1.1:80
Listen 1.1.1.1:443
<VirtualHost 1.1.1.1:80>
    ServerName domain1.com
    ...
</VirtualHost>
<VirtualHost 1.1.1.1:443>
    ...
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

domain2的VirtualHost文件:

NameVirtualHost 2.2.2.2:80
Listen 2.2.2.2:80
Listen 2.2.2.2:443
<VirtualHost 2.2.2.2:80>
    ServerName domain2.com
    ...
</VirtualHost>
<VirtualHost 2.2.2.2:443>
    ...
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

apache ip apache2 ubuntu-10.04

37
推荐指数
2
解决办法
8万
查看次数

如何通过Apache2发送压缩(放气)的SVG?

我在网站的.htaccess文件中指定了以下属性:

AddOutputFilterByType DEFLATE image/svg+xml
DeflateCompressionLevel 9
Header append Vary Accept-Encoding
Run Code Online (Sandbox Code Playgroud)

但是,我的SVG资产不是以压缩形式发送的:

$ curl https://example.org/assets/svg/asset.svg --silent -H "Accept-Encoding: gzip,deflate" --write-out "${size_download}\n" --output /dev/null                 
152655                                                                                                                                                                                                                                  
$ curl https://example.org/assets/svg/asset.svg --silent --write-out "%{size_download}\n" --output /dev/null
152655
Run Code Online (Sandbox Code Playgroud)

我验证了此资产(asset.svg)是image/svg+xml使用Chrome 以MIME类型发送的,但是使用Web Developer工具时,此特定文件在发送到客户端时不会被压缩.

将其他MIME类型添加到.htaccess文件是成功的(例如,添加text/html压缩HTML资源).

这似乎特定于如何处理SVG数据.我还可以尝试或排除故障以使SVG压缩工作?

.htaccess svg google-chrome apache2

37
推荐指数
1
解决办法
4万
查看次数

Apache:限制对虚拟主机内特定源IP的访问

我在同一个apache服务器上有几个命名的虚拟主机,对于我需要确保只允许一组特定IP地址访问的虚拟主机之一.

请建议最好的方法来做到这一点.我看过mod_authz_hosts模块,但看起来我不能在虚拟主机内部进行.

apache apache2

36
推荐指数
4
解决办法
9万
查看次数

Windows 7 php + Symfony2非常慢

这是我长期以来一直存在的问题.我想在我的Windows计算机上运行PHP应用程序,它的加载时间非常长,大约10-25秒.我尝试了很多东西:

  • 首先,我尝试了一个简单的XAMPP安装
  • 我读WAMP可能会更快,所以我也尝试了WAMP.它给了我相同的结果
  • 然后我用PHP安装了一个nginx服务器,但它也没有帮助
  • 最后,我在VirtualBox中安装了一个Ubuntu 11.10并且我共享了包含我的项目的Windows文件,但结果更糟糕:每次超过22秒的加载时间.

更新:我甚至尝试过APC - 它有所改善,但仍然是6-8秒/页

我将我的文件上传到Linux服务器(共享主机),它运行在300-500毫秒左右.在XAMPP安装上,我尝试运行其他(即非Symfony2)应用程序(例如phpmyadmin),它也比共享主机慢,但速度不是很慢,加载时间为2-3秒.在我将Linux更改为主操作系统之前,我该如何提高性能?我的笔记本电脑配有i7 CPU,4 GB RAM,5400RPM HDD,Win7 x64.

谢谢您的帮助!

UPDATE2:由于一些神秘的原因,我的Symfony路由无法使用fcgid(它给了我一个404错误)所以我回去使用PHP作为模块.现在,它已成为有史以来最糟糕的(比以前更糟糕的模块):应用模式20-25秒,在开发模式下,每次超过30秒,所以我得到一个超时错误,它与没有启用APC.

在这里你可以看到这个错误.这是可重现的:每次在30秒内达到不同的执行点:

在此输入图像描述

php performance apache2 windows-7 page-load-time

35
推荐指数
3
解决办法
2万
查看次数