http服务器的搭建(二)

http(二)
apache虚拟主机的加密(https:加密有CA证书)
<Virtualhost *:80>
       servername music.westos.com
       Documentroot/var/www/virtual/music.westos.com/html
Customlog "logs/music.log" combined
</Virtualhost>
<Directory"/var/www/virtual/music.westos.com/html"
         Require all granted
</Directory>
<Virtualhost *:443> (https是443端口)
       servername music.westos.com
  Documentroot/var/www/virtual/music.westos.com/html
       Customlog "logs/music-443.log"combined
       SSLEngine on
       SSLCertificateFile/etc/pki/tls/certs/www.westos.com.crt
       SSLCertificateKeyFile/etc/pki/tls/private/www.westos.com.key
</Virtualhost>
(测试时记得清空浏览器缓存哦~)

页面重写:
vim /etc/httpd/conf.d/music.conf
<Virtualhost *:80>
       servername music.westos.com
       RewriteEngine on
       RewriteRule^(/.*)$ https://%{HTTP_HOST}$1
[redirect=301](访问 http时动跳转到https)
</Virtualhost>
<Directory "/var/www/virtual/music.westos.com/html">
         Require all granted
</Directory>
<Virtualhost *:443>    (https是443端口)
       servername music.westos.com
       Documentroot/var/www/virtual/music.westos.com/html
       Customlog"logs/music-443.log" combined
       SSLEngine on
       SSLCertificateFile/etc/pki/tls/certs/www.westos.com.crt
       SSLCertificateKeyFile/etc/pki/tls/private/www.westos.com.key
</Virtualhost>

注意: 我们在另一台没有做设置的虚拟主机测试(news.westos.com )测试https时,它所访问的页面是 music.westos.com的主页(虽然有证书,但没有443端口没有做设置)

http默认情况下只支持:php cgi html wsgi
测试php:cd /var/www/html
vim index.php
<?php
phpinfo ();
?>


yum install php -y (编译执行php语言)
vim /etc/httpd/conf/httpd.conf
<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>


systemclt restart httpd

浏览器测试:

cgi:
cd /var/www/html
mkdir cgi
(cgi脚本可以参考 http manual : yum install http-manual -y)
vim index.cgi
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print `date`;

chmod +x index.cgi


vim /etc/httpd/conf.d/default.conf


selinux(请注意安全上下文)
cd /var/www
ls -Zd cgi-bin/
drwxr-xr-x. root root system_u:object_r:httpd_sys_script_exec_t:s0 cgi-bin/
semanage fcontext -a -thttpd_sys_script_exec_t ‘/var/www/html/cgi(/.*)?‘
restorecon -FvvR /var/www/html/cgi/

systemclt restart httpd

测试:

搭建一个论坛:
下载一个安装包:
Discuz_X3.2_SC_UTF8.zip
( yum install php/php-mysql -y)
解压:
unzip Discuz_X3.2_SC_UTF8.zip
注意要读:less readme/readme.txt
chmod 777 upload/data/upload/config/
注意:selinux (警告模式)
172.25.254.231/upload/install
安装:


登陆:

正向代理工作原理就像一个跳板。简单的说,我是一个用户,我访问不了某网站,但我能访问一个代理服务器(代理服务器可以访问这个网站)。于是,我先连上代理服务器,告诉他我无法访问的网站内容,代理服务器去访问,然后返还给我。有时候并不知道用户的请求是什么,也隐藏了用户信息,这取决于代理搞不告诉网站(客户端必须进行设置)

用两台虚拟机做模拟测试:
在server里面加一块网卡:
ip1:172.25.254.231(与真机同一个网段)
ip2:172.25.31.10(与desktop同一个网段)


在desktop里面
ip:172.25.31.10
真机ip:172.25.254.31
测试:server 可以ping通真机
desktop不可以ping通真机


server:(可以ping通真机的那台虚拟机)
yum install squid -y
vim /etc/squid/squid.conf
http_access allow all
cache_dir ufs /var/spool/squid 100 16 256


(在 /var/spool/squid 里面 会生成16个A记录文件,每个A记录文件里面有256个二级目录)


systemctl start squid
测试:ping不通的虚拟机也可以访问真机器的apache网页(此时desktop还是ping 不通真机哒~)

(server在里面充当了翻墙工具 ^_^ 带你去看你本来看不到的东西~~)

反向代理:(服务器里面不装https)企业做的,客户端不做任何设定明确告诉上级服务器要拿什么
squid (主要做加速的)
yum install squid -y
vim /etc/squid/squid.conf
cache_peer 172.25.254.4 parent80 0 no-query


systemctl start squid
netstat -antlpe | grep 80
tcp        0      0 172.25.254.231:22       172.25.254.31:48992     ESTABLISHED 0          28081      1585/sshd: [email protected]
tcp6       0      0 :::80                   :::*                    LISTEN      0         191797     4659/(squid-1)     
tcp6       0      0 ::1:6010                ::1:38780               ESTABLISHED 0          28373      1585/sshd: [email protected]
tcp6       0      0 ::1:38780               ::1:6010                ESTABLISHED 0          28372      1621/dbus-launch   
注意:服务器里面没有httpd 这个80 端口是squid开的
在另一台虚拟机里面测试:

反向代理轮询机制:cache_peer 172.25.254.4 parent 80 0 no-query originserver round-robin name=web1
cache_peer 172.25.254.3 parent 80 0 no-query originserver round-robin name=web2
cache_peer_domain web1 web2 www.taobao.com

systemctl restart squid

在另一台机器上测试:www.taobao.com
刷新两次:得到不同的页面

时间: 2024-11-11 09:51:27

http服务器的搭建(二)的相关文章

kafka环境搭建二---Windows客户端Linux服务器

一.对于服务器端的搭建可以参考上一篇文章:kafka单机版环境搭建与测试 服务器端IP :10.0.30.221 运行环境的目录如下: 需要改动config文件夹下的server.properties中的以下两个属性 zookeeper.connect=localhost:2181改成zookeeper.connect=10.0.30.221:2181 以及默认注释掉的 #host.name=localhost改成host.name=10.0.30.221 host.name不更改会造成客户端报

嵌入式linux开发环境搭建(二)——NFS服务器的搭建

嵌入式linux开发环境搭建(二)--NFS服务器的搭建 系统环境:Ubuntu 14.04 server amd64 1.安装 apt-get install nfs-common nfs-kernel-server 2.修改配置文件/etc/exports /home/nfs 192.168.0.0/24(rw,sync,no_subtree_check) 3.重启NFS服务器 /etc/init.d/nfs-kernel-server start 4.查看NFS设置 showmount -

samba服务器的搭建

工作组为Tarena 将目录 /usr/src 共享给所有人 共享名设为 tools 允许所有人访问.无需密码验证 访问权限为只读 1.安装软件包 [[email protected] ~]# rpm-q samba-client samba samba-common    //查看软件是否安装 package samba-client is not installed package samba is not installed package samba-common is not inst

关于git服务器的搭建

Git 服务器可搭建在多个系统平台上. 本篇以 Windows 和 Ubuntu 系统为例,简单介绍 Git 服务器的构建. 最后使用 eclipse 的 egit 插件和 git clone 这两种方法来克隆版本库. 一.概览 无论在 Windows 平台还是 Linux 平台下,Git 服务器搭建就是构建一个验证机制的过程. 通过该机制,Git 版本库的使用者能够使用不同的验证方式,来获取库中资源. 常用的验证方式有两种:公钥私钥对和用户密码. 以下说下不同平台下构建过程中的注意点. 要值得

LNAMP服务器环境搭建(手动编译安装)

LNAMP服务器环境搭建(手动编译安装) 一.准备材料 阿里云主机一台,操作系统CentOS 6.5 64位 lnamp.zip包(包含搭建环境所需要的所有软件) http://123.56.144.36:8001/tools/lnamp.zip 二.确认环境 #确认CentOS YUM安装使用正常 yum clean all yum makecache #确认c gc gc-c++安装正常 yum install -y gc gcc gcc-c++ #确认安装环境需要的软件 yum insta

NFS服务器学习搭建练习

实验拓扑: Linux Client -----RHEL5.9(vmnet1)----------(vmnet1) Win7 Client 实验环境: Red Hat Enterprise Linux Server5.4 vsftpd文件共享服务器IP 192.168.10.253 客户端IP 192.168.10.20 实验一:测试默认安装vsftpd的结果 匿名用户与本地用户都可以登录 匿名用户登录到/var/ftp,只能下载不能上传 本地用户登录到本地用户的家目录,可以上传和下载 服务器端

主从DNS服务器的搭建

一.DNS主从的理解 主从服务器,在一开始的理解中,以为是主的dns服务器挂掉后,(dns服务自动转向辅助dns服务器),客户端还能继续解析.事实貌似不是这样的.当我把主dns停掉的时候,客户端只设一个dns服务器后,事实证明,解析是失败的.但当我将客户端的dns服务器切换到从dns的ip上后,解析是正常的.说明,从服务器只是同步了主服务器解析域的文件. 本案例的环境: 系统:Centos6.5 IP: 主DNS 192.168.40.105 从DNS 192.168.40.170 iptabl

Centos6.4环境下DNS服务器的搭建

DNS服务器搭建很繁琐吗?给你个简单的招吧! 配置域主服务器 阶段: 1.在bind的主配置文件中添加该域 2.在/var/named中创建该域的zone文件 3.编辑zone文件,添加需要的信息 4.检测防火墙或selinux设置 5.启动bind服务 6.使用host或nslookup命令   检测域信息是否正常 工具/原料 安装了Centos6.4系统的电脑一台 方法/步骤 安装bind yum install -y bind bind-chroot bind-utis   BIND配置文

VPS CentOS-6 下 LNMP HTTP服务器的搭建

VPS CentOS-6 下 LNMP HTTP服务器的搭建 前言 恢复更新后的第一篇博文, 前段时间由于各种理由, 把博客更新给宕掉了, 个人独立博客的开发也搁浅了, 现在随着工作的逐步稳定, 决心把博客重新恢复更新, 继续记录着代码路上的一点一滴. 在上篇博文中提到, 笔者将把工作和学习环境全面转移到Linux, 转移也没什么目的, Windows用久了, 换个口味.目前使用的Linux环境是 Ubuntu 14.04, 该版本是一个长期支持版本, 对于想试一试Linux系统的朋友, 也是值

十分钟用Windows服务器简单搭建DHCP中继代理!!

                     十分钟用Windows服务器简单搭建DHCP中继代理!! 一.什么是中继代理? 大家都知道DHCP分配地址都需要用到IP广播,但是广播是不能在两个网段之间进行的.那么和DHCP服务器不是在同一个网段的客户机怎么获得相应的IP地址呢?这时,就要用到DHCP中继代理了. 在另一个Windows服务器上只要配备两块网卡,再安装一个简单的服务器"角色"就可以实现DHCP中继代理了! 二.实验拓补图 三.实验步骤 1.配置DHCP服务器 1.1).注意,