【问题标题】:Change route to subdomain in Laravel在 Laravel 中更改子域的路由
【发布时间】:2016-08-27 16:18:45
【问题描述】:

我的 Laravel 应用程序中有一个 url:https://domain.com/admin,现在我想将它移动到 https://admin.domain.com。我使用 Cloudflare 作为名称服务器,nginx。当我访问https://admin.domain.com 时显示红色 https 警告,当我访问http://admin.domain.com 时显示 nginx 测试页面。我怎么能这样做? 我在cloudflare(Cname)中创建了子域'admin' Nginx 配置:

server {
        server_name www.domain.tv;
        rewrite ^(.*) https://domain.tv$1 permanent;
        }
server {
        listen 80;
        server_name *.domain.tv;
        return 301 https://$server_name$request_uri;
}
server {    
    listen 443 ssl http2; # Use this config for Nginx from 1.9.5 version
    listen 80;
    #listen 443 ssl http2; # Use this config for Nginx before 1.9.5 version
    ssl_certificate /etc/nginx/ssl/domain.tv/ssl-bundle.crt;
    ssl_certificate_key /etc/nginx/ssl/domain.tv/domain.tv.key; 
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    ssl_prefer_server_ciphers on;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA:!CAMELLIA:!DES-CBC3-SHA;
    #ssl_stapling on;
    #resolver 8.8.4.4 8.8.8.8 valid=300s;
    #resolver_timeout 10s;
    ssl_trusted_certificate /etc/nginx/ssl/domain.tv/ssl-bundle.crt;
    ssl_buffer_size 1400;
    ssl_session_tickets on;
    add_header Strict-Transport-Security max-age=31536000;
        access_log off;
        error_log off;
        # error_log /home/domain.tv/logs/error.log;
        root /home/domain.tv/public_html/MovieWebApp/public;    
    include /etc/nginx/conf/ddos2.conf;
    index index.php index.html index.htm;
    server_name *.domain.tv;

【问题讨论】:

    标签: laravel nginx laravel-5.2 subdomain cloudflare


    【解决方案1】:

    您必须为每个子域创建一个 A 记录,您必须使用带有 cloudflare 和 nginx 的 (*) 重定向来实现这一点。我认为 cloudflare 不提供免费的 asterix 重定向。

    【讨论】:

    • 如何在 nginx 上创建 () 重定向,我已经有一条名为 () 的 A 记录
    • 只需将 server_name 设置为 *.yourdomain.io,如果您不使用另一台服务器覆盖它,它将适用于所有子域,您将收到“红色 https 警告”,因为您的 https 证书很可能只是为单个子域签名
    • 给我看看 nginx 服务器是什么样子的
    • 奇怪,在我开始使用 cloudflare 之前这对我有用,并且不能再使用 asterix 重定向了
    猜你喜欢
    • 2013-10-11
    • 1970-01-01
    • 1970-01-01
    • 2018-03-01
    • 2020-01-04
    • 2016-09-18
    • 2016-09-25
    • 2015-09-10
    • 1970-01-01
    相关资源
    最近更新 更多