一、采用 nginx 的 rewrite 方法
- 下面是将所有的 http 请求通过 rewrite 重写到 https 上。
例如将所有的 dev.wangshibo.com 域名的 http 访问强制跳转到 https。
下面配置均可以实现:
server {
listen 80;
server_name dev.wangshibo.com;
index index.html index.php index.htm;
access_log /usr/local/nginx/logs/8080-access.log main;
error_log /usr/local/nginx/logs/8080-error.log;
# 方法1 这是ngixn早前的写法,现在还可以使用
rewrite ^(.*)$ https://$host$1 permanent;
# 方法2 这是nginx最新支持的写法
# return 301 https://$server_name$request_uri;
# 方法3 这种方式适用于多域名的时候,即访问wangshibo.com的http也会强制跳转到https://dev.wangshibo.com上面
# 例如 server_name dev.wangshibo.com wangshibo.com *.wangshibo.com;
# if ($host ~* "^wangshibo.com$") {
# rewrite ^/(.*)$ https://dev.wangshibo.com/ permanent;
# }
# 下面是最简单的一种配置
# if ($host = "dev.wangshibo.com") {
# rewrite ^/(.*)$ http://dev.wangshibo.com permanent;
# }
location ~ / {
root /var/www/html/8080;
index index.html index.php index.htm;
}
}
上面的跳转配置rewrite ^(.*)$ https://$host$1 permanent;
也可以改为下面rewrite ^/(.*)$ http://dev.wangshibo.com/$1 permanent;
或者rewrite ^ http://dev.wangshibo.com$request_uri? permanent;
二、通过proxy_redirec方式
# re-write redirects to http as to https, example: /home
proxy_redirect http:// https://;
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。