nginx - nginx https ip地址到域重定向
问题描述
我的网站非常混乱:它在谷歌搜索结果中显示为https://31.220.108.250/(https ,而不是 http)。我想将此重定向到我的域(mosachi.ga),但是当我无法弄清楚如何将 https 重定向到我的域时(我只能弄清楚如何重定向 http)。这是我当前的 nginx 配置文件:
# Catchall configuration - redir to the domain for bare and invalid domain requests
server {
listen 80 default_server;
server_name _;
return 301 https://mosachi.ga$request_uri;
}
# HTTP handler to redirect to HTTPS for mosachi.ga
server {
listen 80;
server_name mosachi.ga;
return 301 https://mosachi.ga$request_uri;
}
# HTTPS for mosachi.ga
server {
listen 443 ssl;
server_name mosachi.ga;
ssl_certificate /etc/letsencrypt/live/mosachi.ga/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mosachi.ga/privkey.pem;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
解决方案
你能改变你的nginx文件格式如下!并检查它是否工作?
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
root your_root_folder_path;
ssl on;
ssl_certificate /etc/letsencrypt/live/mosachi.ga/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mosachi.ga/privkey.pem;
server_name mosachi.ga www.mosachi.ga;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
server {
listen 80;
server_name mosachi.ga;
return 301 https://mosachi.ga$request_uri;
}
推荐阅读
- mysql - HashiCorp Vault 数据库机密显示连接 URL
- jenkins - 使用 Jenkins Rest API 安排 Jenkins 作业
- python-3.x - 如何在下面的列表中的报价枢轴列表中添加产品和产品类别,如 odoo 11 中的销售分析?
- groovy - Spock - 具有 groovy 特征和 @BeforeClass 的设置规范
- html - 多级手风琴菜单/按钮未显示
- php - 在 php 中排序和修剪数组
- php - laravel Request::server('HTTP_REFERER') 上的空引用者
- python-3.x - 如何在 selenium webdriver 3 中最大化浏览器窗口
- antlr - 如何以非递归方式编写 Antlr 规则?
- java - Spring:我应该使用@Service 然后@Autowired 它,还是@Component AnnotationConfigApplicationContext