背景:
本文以ubuntu服务器为例来说明几种设置域名跳转的情况
设置域名301跳转的几种途径:
1、域名解析处设置显性URL
比如解析处可设置a.com显性解析到b.com
2、nginx配置文件处跳转。
a、proxy跳转
/etc/nginx/conf.d下面设置跳转
server { listen 80; server_name a.com; location / { proxy_pass http://127.0.0.1:9081; autoindex on; include conf.d/proxy.conf; deny all; } }
b、rewrite跳转
/etc/nginx/sites-enabled路径下设置
server { listen 80; server_name a.com c.com; ........ rewrite ^(.*) https://b.com$1 permanent; }
尤其注意:如果此处server处的域名有别名,那么也会跳转;比如上述c.com也会跳转到b.com,即使没有配置其他的跳转。
3、程序中设置跳转
比如PHP程序中就可以设置这种域名跳转。
扩展:阿里云SLB端口转发
阿里云SLB端口转发
如果服务只是一个后端接口,没有nginx配置前端项目,可以通过阿里云的SLB做端口的转发
比如一个java接口端口是9900,可以配置http和https域名访问
上述端口80转发到9900端口,这么访问时只需要使用a.test.com访问项目即可 如果需要配置https,则可以使用443转发到9900,注意https中健康检查的路径一定要是一个能够返回2XX或者3XX的URL。如果健康检查通过,那么直接访问https://a.test.com即可