我正在为我的网站创建NGINX配置,并且,我希望使用Firefox或Chrome浏览它,并且它们总是重定向到HTTPS。
我以前为域启用了HTTPS(由certbot配置的自动重定向)但我放弃了该配置以重启。唯一的浏览器'它适用于Postman。
这是我的配置文件:
# Setup for the mybarber.app domain. It serves a static frontend and a REST api.
# The domain should only be available on HTTPS and HTTP will be redirected.
# Certificates managed by Let's Encrypt.
# The config for the static frontend.
server {
listen 80 default_server;
server_name mybarber.app;
location / {
root /var/www/mybarber_app;
index index.html index.htm;
}
}
# The config for the REST api.
server {
listen 80 default_server;
server_name api.mybarber.app;
location / {
proxy_pass http://localhost:8080/;
}
}
正如您所看到的,我正在侦听HTTP。 nginx.conf文件是安装中的标准文件。从我所看到的,浏览器甚至在它向服务器询问之前就用HTTPS替换了HTTP。否则我会在开发控制台中看到某种重定向。
NGINX服务器也没有收到任何东西。我在谷歌上建议我右键点击我的域名的历史记录,然后点击"忘记这个网站"但它似乎没有帮助。我目前的猜测是永久重定向仍然以某种方式生效。但我不知道从哪里开始。
答案 0 :(得分:0)
问题不是nginx,而是你的浏览器。 他们可能已经缓存了这样一个事实:您的域名可以通过https访问(因为过去发生过这种情况),因此出于安全考虑,他们会更喜欢使用https而不是http。
尝试使用您的浏览器中的私有会话或之前从未访问过您的域的其他计算机访问您的域。
如果错误仍然存在,您可能已启用HSTS,这使您更难以让您的浏览器忘记它。
如果是这种情况,请尝试按照此链接中的说明重置HSTS缓存:https://www.thesslstore.com/blog/clear-hsts-settings-chrome-firefox
请注意,某些TLD(例如.app)仅适用于https。例如,请检查https://hstspreload.org/?domain=mybarber.app