前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx网站重定向

Nginx网站重定向

作者头像
Tacc
发布2022-01-11 14:58:11
6.3K0
发布2022-01-11 14:58:11
举报
文章被收录于专栏:Tacc

1、Nginx配置多网站端口复用

(1)配置Nginx端口复用给多个网站,都可以使用80端口去进行访问。

首先需要更改/usr/local/nginx/conf/nginx.conf的配置文件,如下

代码语言:javascript
复制
#user  nobody;

worker_processes  1;
events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }    
     include /usr/local/nginx/WebServer/*.conf; #其他代码都是默认的,注意这一行,“ *.conf ”代表
                                                #这个目录下的所有.conf结尾的都是网站的配置文件
}

(2)以/usr/local/nginx/WebServer/vhostH.conf配置文件为例,具体如下:

代码语言:javascript
复制
server {
     listen       80;              #监听端口
     server_name  www.liaqi.com;   #网站域名
     server_name  liaqi.com;             ##网站域名
     rewrite ^(.*) https://$server_name$1 permanent;  #进行URL重写,将http访问重写至https
}
server {
    listen 443 ssl;
    server_name www.liaqi.com;
    index index.html;
    root /usr/local/nginx/WebServer/vhostH;                     #网站目录文件
    ssl_certificate      /usr/local/nginx/sslkey/vhostH/full_chain.pem;   #证书存放路径
    ssl_certificate_key  /usr/local/nginx/sslkey/vhostH/private.key;            #证书存放路径
    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;
    server_tokens off;
    fastcgi_param   HTTPS  on;
    fastcgi_param   HTTP_SCHEME  https;
    access_log /usr/local/nginx/logs/httpsaccess.log;
}

按照(2)中的配置文件进行更改即可,即可部署多个网站的80端口复用。

2、网站80和443网站重定向

比如你有两个网站,一个是www.liaqi.com另外一个是www.liaqi.cn,www.liaqi.com备案了,但是www.liaqi.cn没有进行备案,那么可以通过Nginx重定向的方法,把网站的访问给重定向到www.liaqi.com上面去。

备案域名的Nginx配置如下:

代码语言:javascript
复制
server {
     listen       80;
     server_name  www.liaqi.com;
     server_name  liaqi.com;
     rewrite ^(.*) https://$server_name$1 permanent;   #进行URL重写,将http访问重写至https
}
server {
  listen 443 ssl;
  server_name www.liaqi.com;
  server_name liaqi.com;
  index index.html;
  root /usr/local/nginx/WebServer/vhostA;    #网站目录文件
  ssl_certificate      /usr/local/nginx/sslkey/vhostA/full_chain.pem;
  ssl_certificate_key  /usr/local/nginx/sslkey/vhostA/private.key;
  ssl_session_cache    shared:SSL:1m;
  ssl_session_timeout  5m;
  server_tokens off;
  fastcgi_param   HTTPS  on;
  fastcgi_param   HTTP_SCHEME https;
  access_log /usr/local/nginx/logs/httpsaccess.log;
}

未备案域名的Nginx配置如下:

代码语言:javascript
复制
server {
     listen       80;
     listen       443 ssl;
     server_name  www.liaqi.cn;    
     server_name  liaqi.cn;
     ssl_certificate      /usr/local/nginx/sslkey/vhostB/full_chain.pem;
     ssl_certificate_key  /usr/local/nginx/sslkey/vhostB/private.key;

     rewrite ^(.*) https://www.liaqi.com permanent;   #重写域名至具体网站
     rewrite ^(.*) https://liaqi.com permanent;       #重写域名至具体网站
}

3、配置80端口重定向到其他端口

一个网站,我想使用80端口进行访问,但是没有备案,那么该使用Nginx如何配置?(注:本段仅代表个人观点,请按照相关网站要求进行备案)

具体配置方法如下:

代码语言:javascript
复制
server {
     
  listen  80;    #监听80和443端口访问
  listen  443;   #监听80和443端口访问
  server_name www.liaqi.com;
  server_name liaqi.com;
  rewrite ^(.*)  https://www.liaqi.com:8887 permanent;   #重写至服务器的8887端口
  rewrite ^(.*)  https://liaqi.com:8887 permanent;      #重写至服务器的8887端口
}

server {
  listen  8887 ssl;         #对需要重写的8887端口进行开启https访问
  server_name 192.168.0.112.92:8887;  #开启使用的8887端口
  index index.html;
  #server_tokens off;
  default_type  application/octet-stream;  
  ssl_certificate /usr/local/nginx/sslkey/vhostA/full_chain.pem;
  ssl_certificate_key /usr/local/nginx/sslkey/vhostA/private.key;
  ssl_session_cache    shared:SSL:1m;
  ssl_session_timeout  5m;
  server_tokens off;
  fastcgi_param   HTTPS   on;
  fastcgi_param   HTTP_SCHEME  https;
  access_log /usr/local/nginx/logs/httpsaccess.log;
  location / {
    proxy_pass https://192.168.0.21:8887;  #可以是服务自己的IP地址和端口,也可以是其他服务的IP地址和端口
    index      index.htm index.html;
  }
}
#配置的大概意思就是:源站点是https://192.168.0.21:8887,但是是带有端口的,但是无法通过80端口访问,
#所以我用这个https://192.168.0.112.92:8887来进行代理源站点。并且www.liaqi.com的域名已经解析至这
#台服务器上了,所以在浏览器直接输入域名即可正常的访问到目标站点。另外,此方法不保证长久有效,有些服务
#提供商发现有人使用此种方法会进行封停相关端口,慎用慎用。

我的博客即将同步至腾讯云+社区,邀请大家一同入驻:​​https://cloud.tencent.com/developer/support-plan?invite_code=3m3shdxom4o4k​

代码语言:javascript
复制
我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=3m3shdxom4o4k
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/01/04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、Nginx配置多网站端口复用
  • 2、网站80和443网站重定向
  • 3、配置80端口重定向到其他端口
相关产品与服务
ICP备案
在中华人民共和国境内从事互联网信息服务的网站或APP主办者,应当依法履行备案手续。腾讯云为您提供高效便捷的 ICP 备案服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档