AWS EC2 EB上的.htaccess在哪里

时间:2017-06-12 13:55:17

标签: .htaccess amazon-web-services amazon-ec2 elastic-beanstalk

我有一个运行Elastic Beanstalk的EC2实例。我想启用GZIP压缩,我知道我需要修改我的.htaccess文件。

我已经读过.htaccess文件位于应用安装的根文件夹中。但是,我似乎无法找到它。 (我很新手,不知道根文件夹在哪里)。

我能够使用Java 8应用程序ssh到运行Apache Tomcat 8的服务器上。

问题

.htaccess位于何处?

这就是我的根源:

$ ls
bin   cgroup  etc   lib    local       media  opt   root  sbin     srv  tmp  var
boot  dev     home  lib64  lost+found  mnt    proc  run   selinux  sys  usr

更新

我现在有一个.ebextensions/tomcat-settings.config可行。它支持GZip压缩。

option_settings:
  aws:elasticbeanstalk:environment:proxy:
    GzipCompression: 'true'
    ProxyServer: nginx
  aws:elasticbeanstalk:environment:proxy:staticfiles:
    /pub: public

这似乎不会压缩.svg个文件。所以,如果可能的话,我想有以下内容,但不知道在哪里添加它:

## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType image/svg "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>
## EXPIRES CACHING ##

2 个答案:

答案 0 :(得分:0)

你需要上传.htaccess文件或者在你上传你的应用程序的根目录下的ec2实例中创建它,如果你使用的是弹性beanstalk,你需要将.htaccess文件添加到根目录上的.zip文件中夹

答案 1 :(得分:0)

如何通过ssh或.ebextensions文件配置ec2实例? 如果你通过ssh配置实例并且你正在使用弹性环境,那么当实例降级或更改时配置将被删除,如果你只使用ec2的一个实例,配置继续工作。

如果需要通过.ebextensions配置它,则需要在.zip文件中创建名为.ebextensions的文件夹,在此文件夹中,您需要创建两个名为enable_mod_deflate.conf和myapp.config的文件。

enable_mod_deflate.conf的内容:

  # mod_deflate configuration
  <IfModule mod_deflate.c>
  # Restrict compression to these MIME types
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE text/xml
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE application/xml+rss
  AddOutputFilterByType DEFLATE application/x-javascript
  AddOutputFilterByType DEFLATE text/javascript
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE image/png
  AddOutputFilterByType DEFLATE image/gif
  AddOutputFilterByType DEFLATE image/jpeg

  # Level of compression (Highest 9 - Lowest 1)
  DeflateCompressionLevel 9

  # Netscape 4.x has some problems.
  BrowserMatch ^Mozilla/4 gzip-only-text/html

  # Netscape 4.06-4.08 have some more problems
  BrowserMatch ^Mozilla/4\.0[678] no-gzip

  # MSIE masquerades as Netscape, but it is fine
  BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html

  <IfModule mod_headers.c>
  # Make sure proxies don't deliver the wrong content
  Header append Vary User-Agent env=!dont-vary
  </IfModule>

  </IfModule>

myapp.config的内容:

  container_commands:
      01_setup_apache:
          command: "cp .ebextensions/enable_mod_deflate.conf /etc/httpd/conf.d/enable_mod_deflate.conf"

然后您需要重新启动服务器。