虚拟主机的三种方式

本文介绍了使用Nginx配置虚拟主机的三种方式:基于IP地址(不适用于云服务器),基于端口号,以及基于域名。每种方法都详细阐述了配置步骤,包括IP绑定、端口设置和域名指向。此外,还讨论了跨域问题及其解决方案,通过修改Nginx配置文件实现跨域访问的允许。
摘要由CSDN通过智能技术生成

虚拟主机的三种方式(nginx)

基于IP地址(不支持云服务器)

买的云服务器不支持这种方法,因为不能修改网关,修改网关会导致无法远程连接

首先我们先在一台linux服务器上绑定两个不同IP请求不同的HTML

先绑定两个不同的IP分别为192.168.140.250和192.168.140.251,并且通过ifconfig可以查看,并且也可以ping通,在进行下载安装nginx以及相关的安装包

修改配置文件,80端口同时监听两个IP,并且进行不同的HTML页面展示,通过更改html页面来区别,此处我增加了一个对应的IP地址在界面上,所以可以得到这样的两个html界面

经常出现问题在nginx的安装与环境的部署,还有就是nginx.conf的配置文件经常出现问题导致无法完成相应的效果,尤其需要注意标点符号以及括号都会导致问题发生。

基于端口号

我们此处敲实验的端口号设置为3669和3670,表示不同的界面

将端口号3669的界面为11111111;端口号为3670的界面为22222222

需要重启服务和修改防火墙

基于域名

需要两个域名指向一个服务器,两个域名设置为xyy.comxiayingying.com,此处不使用www是因为浏览器会强制使用https协议

先创建各自的界面,然后在进行配置更改,更改不一样的域名,监听端口号是一样的

如果域名没有进行备案,需要在Windows主机进行备案

跨域

工作越来越细致化,所以产生了跨域问题,为了解决这个问题,就出现了同源策略。就是指三点相同,协议+域名+端口相同的请求则可以被看作是同源,同源策略也限制了不同源之间的资源交换

解决跨域问题

通过对nginx配置文件的更改实现跨域的问题

location / {
    # 允许跨域的请求,可以自定义变量$http_origin,*表示所有
    add_header 'Access-Control-Allow-Origin' *;
    # 允许携带cookie请求
    add_header 'Access-Control-Allow-Credentials' 'true';
    # 允许跨域请求的方法:GET,POST,OPTIONS,PUT
    add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS,PUT';
    # 允许请求时携带的头部信息,*表示所有
    add_header 'Access-Control-Allow-Headers' *;
    # 允许发送按段获取资源的请求
    add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
    # 一定要有!!!否则Post请求无法进行跨域!
    # 在发送Post跨域请求前,会以Options方式发送预检请求,服务器接受时才会正式请求
    if ($request_method = 'OPTIONS') {
        add_header 'Access-Control-Max-Age' 1728000;
        add_header 'Content-Type' 'text/plain; charset=utf-8';
        add_header 'Content-Length' 0;
        # 对于Options方式的请求返回204,表示接受跨域请求
        return 204;
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值