Apache httpd服务
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/"
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:刪除指定用戶
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
- 下一篇: 人的一生为什么要努力 1