Apache http服务中 多域名与ip及端口 的配置

Apache http服务中 多域名与ip端口 的配置

服务器:Centos7

现配置  通过域名访问ip端口  对应目录网页

test1.reloss.com    192.168.127.1:81    /var/www/test1

test2.reloss.com    192.168.127.1:82    /var/www/test2

 

1. 在Centos7中找到Apache http的配置目录,即 /etc/httpd/conf/httpd.conf

命令:
cd /etc/httpd/conf
vi httpd.conf

 

2. 按Esc,输入 :$ 回车到最后一行,在按 a ,进行编辑

在左下角

 

3. 在后面加上以下配置

# 1. 全配置
# test1.reloss.com 对应192.168.127.1:81 对应/var/www/test1目录网页
# 这里对应的ip和端口,直接不需要动直接 *:80 Apache默认端口
<VirtualHost 192.168.127.1:81>
    ServerName test1.reloss.com     # 外部访问的域名
    ServerAlias test1.reloss.com    # 上面网址的别名,给虚拟主机增加多个域名
    DocumentRoot "/var/www/test1"     # 域名访问的 目录路径 及 站点网页
    # 添加可以执行php的文件类型,为shtml文件开启SSI,使浏览器能解析,不至于直接输出代码
    # AddType application/x-httpd-php .htm  就是指.htm可以解析php
    # AddType text/html .shtml      # 与上选一
    # 为.shtml开启包含(include),在.shtml文件中(如<!--include ...-->)可以引入文件
    # AddOutputFilter INCLUDES .shtml
    #映射URL 到文件系统的特定目录
    Alias /test3/ /var/www/test3    # 及 test1.reloss.com/test3
    Alias /test4/ /var/www/test4    # 及 test1.reloss.com/test4

    #权限设置,标签中的地址相对于上面 DocumentRoot 的值
    <Directory  "/var/www/test1">   # 同上路径配置
        # 参数设置Indexes开启索引,可以在浏览器中显示当前目录文件列表。一般框架中因后台模板不是html的后台虚拟主机不加Includes(选)
        Options +Indexes +Includes +FollowSymLinks +MultiViews
        DirectoryIndex index.html index.htm     # 查找打开文件的顺序
        AllowOverride All           # 允许定义.htaccess文件(None 忽略.htaccess文件)(选)
        Order allow,deny            # 能访问的白名单和黑名单(选)
        Require all granted         # 允许所有请求(选)
        Allow from all              # 权限
        ErrorDocument 404 https://192.168.172.1/404.html    #路径匹配时跳转的404界面(选)
    </Directory>
</VirtualHost>

# 2. 一般使用可简略为以下
# test2.reloss.com 对应192.168.127.1:82 对应/var/www/test2目录网页
<VirtualHost 192.168.127.1:82>
    ServerName test2.reloss.com
    DocumentRoot "/var/www/test2"
    <Directory  "/var/www/test2">
        DirectoryIndex index.html index.htm
        Allow from all
    </Directory>
</VirtualHost>

其他

1.常规配置

<VirtualHost *:80>
        DocumentRoot "/var/www/html"
        ServerName www.test.com
</VirtualHost>
  • DocumentRoot:网站目录
  • ServerName:网站域名

2.常用附加配置

<VirtualHost *:80>
       DocumentRoot "/var/www/html"
       ServerName www.test.com
       <Directory "/var/www/html">
           Options Indexes FollowSymLinks
           AllowOverride All
           Require all granted
           ErrorDocument 404 https://192.168.172.1/404.html
       </Directory>
</VirtualHost>
  • Directory节点:定义目录属性
  • Options Indexes FollowSymLinks:开启目录访问,显示目录结构,并允许在此目录中使用符号连接
  • AllowOverride All:允许定义.htaccess文件
  • AllowOverride None:忽略.htaccess文件
  • Require all granted:允许所有请求
  • ErrorDocument 404 https://192.168.172.1/404.html:路径匹配时跳转的404界面

3.开启HTTPS

<VirtualHost _default_:443>
    DocumentRoot "/var/www/html"
    ServerName www.test.com
    SSLEngine on
    SSLCertificateFile /etc/ssl/2_www.test.com.crt
    SSLCertificateKeyFile /etc/ssl/3_www.test.com.key
    SSLCertificateChainFile /etc/ssl/1_www.test.com.crt
    <Directory "/var/www/html">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
        ErrorDocument 404 https://www.test.com/404.html
    </Directory>
</VirtualHost>
  • SSLEngine on:开启SSL
  • SSLCertificateFile:指定证书公钥文件
  • SSLCertificateKeyFile:指定证书私钥文件
  • SSLCertificateChainFile:指定证书链文件

4.反向代理(端口转发)

<VirtualHost _default_:443>
    ServerName www.test.com
    SSLEngine on
    SSLCertificateFile /etc/ssl/api/2_awww.test.com.crt
    SSLCertificateKeyFile /etc/ssl/3_www.test.com.key
    SSLCertificateChainFile /etc/ssl/1_www.test.com.crt

    ProxyPreserveHost On
    ProxyRequests Off 

    ProxyPass /v2 http://localhost:92/
    ProxyPass /v1 http://localhost:91/
    ProxyPass / http://localhost:90/

    ProxyPassReverse /v2 http://localhost:92/
    ProxyPassReverse /v1 http://localhost:91/
    ProxyPassReverse / http://localhost:90/

</VirtualHost>
  • ProxyPreserveHost On:开启反向代理
  • ProxyRequests Off:关闭正向代理
  • ProxyPass:设置反向代理路径
  • ProxyPassReverse:使Apache自动处理反向代理中的从定向响应,一般和ProxyPass一起用

5.http从定向到https

<VirtualHost *:80>
    ServerName www.test.com
    #redirect
    RewriteEngine on
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^(.*)?$ https://%{SERVER_NAME}$1 [L,R]
</VirtualHost>
  • RewriteEngine on:开启从定向功能
  • RewriteCond %{SERVER_PORT} !^443$:从定向条件,端口不是443时重定向,^为开头,$为结束
  • RewriteRule:重定向规则,L:表明当前规则是最后一条规则,停止分析以后规则的重写;R:强制外部重定向

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值