如何解决NGINX:禁止公共 IP 访问 + 重写基本 URL
我正在使用 NGINX 尝试通过裸 IP 地址公开无法访问 Django/uWSGI 网站,同时使用以下规则设置域:
-
my-domain.com/my-new-base
应该可以通过my-domain.com
访问, -
my-domain.com/my-new-base
不应直接访问(或至少应重定向到my-domain.com
)。
我按如下方式编写了配置,但我似乎无法以有效的方式编写位置:
server {
listen 80 default_server;
server_name "";
return 444;
}
server {
listen 80;
server_name my-domain.com;
location = / {
rewrite ^/(.*)$ /my-new-base$1 break;
include /etc/nginx/uwsgi_params;
uwsgi_pass app:8000;
}
location /my-new-base {
return 301 $scheme://my-domain.com;
}
}
这是我在上面包含的 uWSGI 参数:
uwsgi_param QUERY_STRING $query_string;
uwsgi_param REQUEST_METHOD $request_method;
uwsgi_param CONTENT_TYPE $content_type;
uwsgi_param CONTENT_LENGTH $content_length;
uwsgi_param REQUEST_URI $request_uri;
uwsgi_param PATH_INFO $document_uri;
uwsgi_param DOCUMENT_ROOT $document_root;
uwsgi_param SERVER_PROTOCOL $server_protocol;
uwsgi_param REMOTE_ADDR $remote_addr;
uwsgi_param REMOTE_PORT $remote_port;
uwsgi_param SERVER_ADDR $server_addr;
uwsgi_param SERVER_PORT $server_port;
uwsgi_param SERVER_NAME $server_name;
但这一切都会导致无限循环。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。