nginx、Apache、Lighttpd怎样按站点独立开启HSTS?

为了防止http到https跳转环节的302劫持,服务器管理员可能要用到HSTS响应头的解决方案。凯铧互联工程师为您分享区分站点单独开启HSTS的操作方法。
302跳转
通常情况下,我们将用户的 HTTP 请求 302 跳转到 HTTPS,这会存在两个问题:
不够安全,302 跳转会暴露用户访问站点,也容易被劫持
拖慢访问速度,302 跳转需要一个 RTT(The role of packet loss and round-trip time),浏览器执行跳转也需要时间
HSTS
302 跳转是由浏览器触发的,服务器无法完全控制,这个需求导致了 HSTS(HTTP Strict Transport Security)的诞生。HTSP 就是添加 header 头(add_header Strict-Transport-Security max-age=15768000;includeSubDomains),告诉浏览器网站使用 HTTPS 访问,支持HSTS的浏览器(Chrome, firefox, ie 都支持了 HSTS(http://caniuse.com/#feat=stricttransportsecurity))就会在后面的请求中直接切换到 HTTPS。在 Chrome 中会看到浏览器自己会有个 307 Internal Redirect 的内部重定向。在一段时间内也就是max-age定义的时间,不管用户输入www.bjkaihua.com还是http://www.wanweiwang.cn,都会默认将请求内部跳转到https://www.bjkaihua.com。
服务器端配置HSTS,减少302跳转,其实HSTS的最大作用是防止302 HTTP劫持。HSTS的缺点是浏览器支持率不高,另外配置HSTS后HTTPS很难实时降级成HTTP。
同时,也建议启用SPDY来提高性能。有关SPDY内容参见前面文章,不在此外累述了。

下面来说说如何在Apache2, NGINX , Lighttpd启用HSTS。
Apache2启用HSTS代码如下
# Optionally load the headers module:
LoadModule headers_module modules/mod_headers.so
<VirtualHost 0.0.0.0:443>
Header always set Strict-Transport-Security “max-age=63072000; includeSubdomains; preload”
</VirtualHost>
然后,重启Apache服务。

nginx启用HSTS代码如下
add_header Strict-Transport-Security “max-age=63072000; includeSubdomains; preload”;
在server端添加该头部,并重启服务。

Lighttpd启用HSTS代码如下
server.modules += ( “mod_setenv” )
$HTTP[“scheme”] == “https” {
setenv.add-response-header = ( “Strict-Transport-Security” => “max-age=63072000; includeSubdomains; preload”)
}

X-Frame-Options 头部
X-Frame-Options 头部添加到HTTPS站点,确保不会嵌入到frame 或 iframe,避免点击劫持,以确保网站的内容不会嵌入到其他网站。

Apache启用HSTS代码如下
Header always set X-Frame-Options DENY

nginx启用HSTS代码如下
add_header X-Frame-Options “DENY”;
Lighttpd
server.modules += ( “mod_setenv” )
$HTTP[“scheme”] == “https” {
setenv.add-response-header = ( “X-Frame-Options” => “DENY”)
}

本文适用于:
nginx、Apache、Lighttpd怎样按站点独立开启HSTS?

不知道如何办理开通阿里云服务器ECS?让凯铧互联专业的工程师帮您。我们提供免费的技术咨询,方案建议,让您的企业上云变得更容易,更有效,更安全!

看完上述说明如果您还有疑问,或者是需要咨询阿里云产品相关折扣、优惠或者是技术问题,请加下面的微信!我们是阿里云/腾讯云/华为云代理商联系我更有折上折优惠,新老用户均有!微信(电话):158-0160-3153。

为什么选择凯铧互联:北京凯铧互联科技有限公司(简称凯铧互联)由多名前阿里云资深技术专家创立,核心员工来自阿里巴巴、腾讯服务器运维团队,公司90%成员均是超过10年具备专业运维经验的精英。作为阿里云,腾讯云,百度云,金山云,华为云重要的合作伙伴,专业从事互联网应用服务、云计算、大数据、人工智能、企业信息化建设,为企业用户提供基于大数据的企业上云解决方案。公司总部设在北京,并在内蒙设有办事处,服务全国各地企业,与互联网专业公司及主流服务商建立了良好合作关系。
凯铧互联始终坚持帮助企业节省成本、提高效率、创造价值的原则,力求为企业及创业型团队 提供可靠、安全、稳定的运维服务,与之共同成长。做为一家综合性方案商,为用户获得优质服务的同时,秉承”专业规划、周到服务”的服务理念,根据用户的实际情况,充分考虑各种网络资源的特点及功效,为用户量身定做一套适合于其实际应用需求的网络应用方案。帮助用户利用互联网的力量展开新的营销方式,并大大缩短了项目实施周期,获得用户的一致好评!行业解决方案涵盖的领域包括:电子、能源、文化、旅游、教育、机械、医疗、金融、餐饮等。公司官网:www.bjkaihua.com; 腾讯云网站www.bjkaihua.net.cn; 阿里云业务网站:www.alibjyun.com。查看凯铧互联相关阿里云资质。

总之:阿里云代理很多,但做的好的不多,很多代理商只会低价销售,过一年两年就不做了,凯铧互联科技不单单可以优惠购买,还有免费技术服务提供,这样又靠谱又有技术服务的代理商不多了,推荐选择凯铧互联。关于阿里云代理商能优惠几折这钟具体问题要问具体咨询代理,代理公司不同可能价格也不同。

Ubuntu 下快速部署安装 Apache + PHP + MySQL + phpMyAdmin

发布:凯铧互联

Ubuntu 下快速部署安装 Apache + PHP + MySQL + phpMyAdmin

安装 Apache

sudo apt-get install apache2
为了确定安装是否成功,我们来测试一下。打开浏览器,输入以下网址:

http://localhost/
如果成功,你会看到以下内容 “It works!” , 祝贺你,第一步,你算是跨出去了。

Ubuntu 下快速部署安装 Apache

安装 PHP5

在终端输入以下命令:

sudo apt-get install php5 libapache2-mod-php5
重启Apache

sudo /etc/init.d/apache2 restart
我们新建一个 PHP 测试文件(我们将其命名为phptest.php),输入以下内容 :

sudo vi /var/www/testphp.php
在该文件中输入以下内容.

<?php phpinfo(); ?>
保存退出。然后打开浏览器,查看一下我们刚刚建立的内容。输入以下网址:

http://localhost/testphp.php
如果显示出PHP的信息内容页面,说明你又成功了一小步。

安装 MySQL

下面我们来安装 MySQL (这是最后一步,也是麻烦比较多的一步,安装的时候注意。)

再一次打开终端,运行以下命令:

sudo apt-get install mysql-server
在安装的时候,如果要求你输入 MySQL 密码,则输入密码。如果没有要求,则执行以下设置密码的操作。

在终端中输入下面命令:

mysql -u root
接下来,你还要输入以下内容;

mysql> SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘yourpassword’);
以上的root是你的 MySQL 用户名,yourpassword是用户名对应的新密码。

至此,LAMP 环境已经搭建起来了。如果你想要安装 phpMyAdmin 来管理 MySQL,则继续往下操作。

安装phpMyAdmin

下面我们安装phpMyAdmin。在终端输入以下命令:

sudo apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin
这里的 phpmyadmin 是与我们之前安装的 PHP 是相匹配的,如果你装的 PHP 和 phpmyadmin 不相配,则不会正常工作。

现在我们去解决 phpMyAdmin “不工作”的问题,当我们安装了 phpMyAdmin 后,不要以为一切就绪了。其实我们还有一项工作要去完成,就是去配置phpMyAdmin 和 Apache。同样在终端运行以下命令:

cp /etc/phpmyadmin/apache.conf /etc/apache2/sites-available/phpmyadmin
这样我们就把 phpmyadmin 中的 apache.conf(apache配置文件)拷贝到 apache2/sites-available/phpmyadmin。

然后生成 phpmyadmin 的软链接:

cd /etc/apache2/sites-enabled/
sudo ln -s ../sites-available/phpmyadmin phpmyadmin
最后重启 Apache

sudo /etc/init.d/apache2 restart
好了。打开 http://localhost/phpmyadmin 去体验一下吧。

mcrypt 模块丢失的错误

一个 bug 可能导致访问 phpMyAdmin 时出现 mcrypt 模块丢失的错误。如果遇到,则可以采用下面的办法修复:

$ sudo ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/
$ sudo php5enmod mcrypt
$ sudo service apache2 restart

全局禁用 Index

Index 就是访问一个不存在 index.html、index.php 等文件的目录时服务器列出的文件列表,这样会对用户展示文件结构,如果想禁用,可以修改 Apache 的配置文件:

$ sudo vi /etc/apache2/apache2.conf
找到并修改为

<Directory /var/www/>
Options -Indexes
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>

 

以上就是关于Ubuntu 下快速部署安装 Apache + PHP + MySQL + phpMyAdmin的说明。阿里云代理商凯铧互联提供阿里云服务器/企业邮箱等产品的代购服务,同样的品质,更多贴心的服务,更实惠的价格。 阿里云代理商凯铧互联会为您提供一对一专业全面的技术服务,同时还能为您提供阿里云其他产品购买的专属折扣优惠。通过凯铧互联购买可以获得折上折优惠!若您需要帮助可以直接联系我方客服,阿里云代理商凯铧互联专业技术团队为您提供全面便捷专业的7×24技术服务。 电话专线:136-5130-9831,QQ:3398234753。

阿里云服务器ECS如何在Apache开启伪静态模块

问题描述
如何开启 Apache 伪静态模块
解决方案
1.在 Apache 配置中启用 Rewrite,打开配置文件 httpd.conf
若无法找到此文件,可使用 find / -name httpd.conf

如下图所示:

1.jpg

注意:本文搜索的httpd.conf的路径是 /etc/httpd/conf/httpd.conf 文件,此文对此进行说明。

找到 # LoadModule rewrite_module modules/mod_rewrite.so 去除前面的 #,开启伪静态模块。

注意:Linux 中 # 代表注释信息

修改前:

# LoadModule rewrite_module modules/mod_rewrite.so

修改后:

LoadModule rewrite_module modules/mod_rewrite.so

2.jpg

2.启用 .htaccess

在系统配置项中找到 Apache 的配置文件 /etc/httpd/conf/httpd.conf

将 AllowOverride None    修改为: AllowOverride All(对于配置文件,建议在修改前做下备份)

3.jpg

到此伪静态已经开启成功。
您在实际操作过程中遇到技术问题,可以直接联系本站客服阿里云代理凯铧互联专业技术团队为您提供专业技术服务,同时通过我们去阿里云官网购买产品,能够获得较官网更多优惠。记住官网网站:www.bjkaihua.com