背景:
本文以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即可