https的实现

​ 1)CA服务器端,生成自签证书

[root@ca ~]# cd /etc/pki/CA/
[root@ca CA]# (umask 077; openssl genrsa -out private/cakey.pem 2048)
[root@ca CA]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650
[root@ca CA]# touch index.txt
[root@ca CA]# echo 01 > serial

​ 2)HTTP服务器端,生成签署请求

[root@www ~]# mkdir /etc/httpd/conf.d/ssl
[root@www ~]# cd /etc/httpd/conf.d/ssl
[root@www ssl]# (umask 077; openssl genrsa -out httpd.key 1024)
[root@www ssl]# openssl req -new -key httpd.key -out httpd.csr
[root@www ssl]# scp httpd.csr 192.168.0.2:/etc/pki/CA/

​ 3)CA服务器端,签署

[root@ca CA]# openssl ca -in httpd.csr -out certs/httpd.crt -days 350
[root@ca CA]# scp certs/httpd.crt cacert.pem 192.168.0.7:/etc/httpd/conf.d/ssl/

​ 4)HTTP服务器端,配置https

[root@www ssl]# ls -1
cacert.pem
httpd.crt
httpd.csr
httpd.key
[root@www ~]# yum install mod_ssl -y
[root@www ~]# vim /etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/httpd/conf.d/ssl/httpd.crt
SSLCertificateKeyFile /etc/httpd/conf.d/ssl/httpd.key
SSLCACertificateFile /etc/httpd/conf.d/ssl/cacert.pem

测试访问:https://192.168.0.7 ,导入根证书即可信任此网站

​ 5)配置http重定向到https,将http请求转发至https的URL:俩种实现方式,推荐使用HSTS

  • Redirect [status] URL-PATH URL 这种方法不适合,会反复重定向

  • HSTS:HTTP Strict Transport Security

​ 服务器端配置支持HSTS后,会在给浏览器返回的HTTP首部中携带HSTS字段。浏览器获取到该信息后,会将所有HTTP访问请求在内部做307跳转到HTTPS。而无需任何网络过程

HSTS preload list:Chrome浏览器中的HSTS预载入列表,在该列表中的网站,使用Chrome浏览器访问时,会自动转换成HTTPS。Firefox、Safari、Edge浏览器也会采用这个列表

[root@www ~]# vim /etc/httpd/conf.d/myhttpd.conf
Header always set Strict-Transport-Security "max-age=31536000"
RewriteEngine on
RewriteRule ^(/.*)$  https://%{HTTP_HOST}$1 [redirect=302]

测试访问http://会自动跳转到https://

http的反向代理功能

不推荐使用

启用反向代理:

  • ProxyPass "/" "http://www.example.com/"
  • ProxyPassReverse "/" "http://www.example.com/"

特定URL反向代理:

  • ProxyPass "/images" "http://www.example.com/"
  • ProxyPassReverse "/images" "http://www.example.com/"
~]# vim /etc/httpd/conf.d/myhttpd.conf
ProxyPass "/"  "http://192.168.0.7/"
ProxyPassReverse "/"  "http://192.168.0.7/"

web相关工具

1、curl命令

​ curl是基于URL语法在命令行方式下工作的文件传输工具,它支持FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE及LDAP等协议。curl支持HTTPS认证,并且支持HTTP的POST、PUT等方法, FTP上传, kerberos认证,HTTP上传,代理服务器,cookies,用户名/密码认证, 下载文件断点续传,上载文件断点续传, http代理服务器管道( proxy tunneling),还支持IPv6,socks5代理服务器,通过http代理服务器上传文件到FTP服务器等,功能十分强大。

用法:curl [options][URL...]

选项:

  • -A string 设置用户代理(浏览器)发送给服务器
  • -e URL 伪装来源网站
  • --cacert file 指定使用ca证书
  • -k 允许忽略证书进行 SSL 连接
  • --compressed 要求返回是压缩的格式
  • -H 自定义首部信息传递给服务器
  • -i 显示页面内容,包括报文首部信息
  • -I 只显示响应报文首部信息
  • -D file 将url的header信息存放在指定文件中
  • --basic 使用HTTP基本认证
  • -u user:password 设置服务器的用户和密码
  • -L 如果有3xx响应码,重新发请求到新位置
  • -O 使用URL中默认的文件名保存文件到本地
  • -o file 将网络文件保存为指定的文件中
  • --limit-rate 限制传输速度
  • -0 数字0,使用HTTP/1.0协议
  • -v 显示详细信息
  • -C 选项可对文件使用断点续传功能
  • -c 将url中cookie存放在指定文件中
  • -x proxyhost:port 指定代理服务器地址
  • -X COMMAND 向服务器发送指定请求方法
  • -U user:password 代理服务器用户和密码
  • -T 选项可将指定的本地文件上传到FTP服务器上
  • -d 方式指定使用POST方式传递数据
  • -b name=data 从服务器响应set-cookie得到值,返回给服务器

2、htpasswd

basic认证基于文件实现时,用到的账号密码文件生成工具

用法:htpasswd [options] /PATH/HTTPD_PASSWD_FILE username

  • -c:自动创建文件,仅应该在文件不存在时使用
  • -p:明文密码
  • -d:CRYPT格式加密,默认
  • -m:md5格式加密
  • -s: sha格式加密
  • -D:删除指定用户
# htpasswd -mc /etc/httpd/conf.d/.htuser admin

3、apachectl

httpd自带的服务控制脚本,支持start、stop和restart等选项

4、rotatelogs:

日志滚动工具

5、ab命令

httpd的压力测试工具,来自httpd-tools包

用法:ab [options] URL

  • -n:总请求数
  • -c:模拟并发数
  • -k:以持久连接模式测试

转载于:https://www.cnblogs.com/Gmiaomiao/p/9220854.html

Apache httpd服务相关推荐

  1. 我是如何通过fuzz apache httpd服务发现CVE-2017-7668

    本文讲的是我是如何通过fuzz apache httpd服务发现CVE-2017-7668, 目标 在fuzz过程中发现apache httpd服务在AFL下崩溃掉了,导致出现了很多问题,比如模糊测试 ...

  2. Linux系统终止httpd服务,【转】Linux下apache/httpd服务启动与停止

    apache服务,或者说httpd服务,如何启动,如何开机启动. 转来转去,找不到原文.. 操作系统环境:红帽5,具体如下: # uname -a Linux machine1 2.6.18-164. ...

  3. Linux—搭建Apache(httpd)服务

    文章目录 1.httpd简介? 2.httpd服务特点 3. httpd的工作模型 4.httpd的配置文件 5.httpd自带的工具程序 6.httpd常用配置 6.1 安装httpd服务 6.2 ...

  4. 实验图文详解——apache的编译安装及httpd服务开机自启

    实验图文详解--apache的编译安装及httpd服务开机自启 1.导入安装包 2.解压安装包 3.分别解压httpd.apr.apr-util包 4.对apr.apr-util目录进行移动及重命名操 ...

  5. apache服务,或者说httpd服务,如何启动,如何开机启动。

    apache服务,或者说httpd服务,如何启动,如何开机启动. 2010-04-02 09:59 操作系统环境:红帽5,具体如下: # uname -a  Linux machine1 2.6.18 ...

  6. apache服务,或者说httpd服务,如何启动,如何开机启动

     操作系统环境:红帽5,具体如下: # uname -a Linux machine1 2.6.18-164.el5xen #1 SMP Tue Aug 18 15:59:52 EDT 2009 ...

  7. Linux之Httpd(Apache)服务详解

    Apache的介绍 Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的Web服务器软件 那什么是Web服务器,以及Web服务器的用处有哪些? 大多数人都是 ...

  8. Linux系统CentOS 7修改httpd服务Apache网站根目录

    python 版本: python2.7 操作系统: Windows10 64bit 虚拟机:CentOS7 linux安装httpd,做文件服务器 Linux系统CentOS 7修改httpd服务A ...

  9. linux怎么开启httpd服务公钥,在Apache httpd服务器上部署SSL证书

    Apache是一款时下最主流.被广泛使用的web服务器.本文详细描述如何在Apache httpd服务器上部署并使用SSL(Secure Sockets Layer)证书. 前提条件 Apache 2 ...

最新文章

  1. 怎样使phpnow1.5.6-1支持firebird
  2. 安卓高手之路之 图形系统之 图形框架(1)
  3. linux内存转换成功,linux系统内存转换成硬盘使用
  4. 浅析Python中的序列化存储的方法
  5. 最优化课程笔记07——约束问题的非线性规划方法(重点:拉格朗日乘子法和惩罚函数法)
  6. oracle for函数,oracle分区表述的FOR语句(一)
  7. Rust 修复隐秘的ReDoS 漏洞
  8. java 聚合模式_java 聚合和组合的区别?
  9. 验证软件包的数字签名
  10. 现代密码学常用符号总结
  11. java netbeans 控制台乱码_Netbeans 输出窗口乱码
  12. FPGA的计数器设计
  13. JAVA专业课题研究方向有哪些,课题研究方向有哪些
  14. 对Scrollbar实现平时隐藏,滑动时出现
  15. office2016专业增强版cmd安装
  16. PyQt5 密码输入框
  17. Shell 脚本 — 多行注释、开启子/不开启子进程执行、转义带颜色输出、读取键盘输入、输入输出重定向、单双引号、命令替换、读取变量、系统变量、正则过滤、算术运算、一行多条命令、字符串比较
  18. TMC429 - 三轴2相步进电机控制芯片
  19. 设置Vmware虚拟机自动调整窗口大小、自动调整分辨率/界面大小
  20. 看漫画学python 怎么样_看着漫画学Python是种怎样的体验?

热门文章

  1. Ruby种的特殊变量
  2. 20、Basic Shell_for_while_grep_find
  3. linux源码安装nginx
  4. xpath的数据和节点类型以及XPath中节点匹配的基本方法
  5. MINA系列学习-IoAccpetor
  6. 个人博客作业week7
  7. thunderbird怎样方便的导入gmail联系人
  8. 计算机控制系统的理论,计算机控制系统理论基础.pptx
  9. leetcode算法题--Minimum Depth of Binary Tree
  10. KVM中virtio之vring(十)