nginx rewire浏览器地址会变化么

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx rewire浏览器地址会变化么相关的知识,希望对你有一定的参考价值。

参考技术A nginxrewrite浏览器地址会变化。
rewrite的指令语法:rewriteregexreplacement[flag];默认值:none;应用位置:server、location、if。
rewrite是实现URL重定向的重要指令,他根据regex(正则表达式)来匹配内容跳转到replacement,结尾是flag标记。简单的小例子:rewrite^/(、*)http://www、baidu、com/permanen;#匹配成功后跳转到百度,执行永久301跳转。

通过浏览器访问 IP 地址时,在 nginx 上创建新的 Lumen 应用程序会抛出 404

【中文标题】通过浏览器访问 IP 地址时,在 nginx 上创建新的 Lumen 应用程序会抛出 404【英文标题】:Creating new Lumen app on nginx throwing 404 when hiting IP Adress through browser 【发布时间】:2016-06-17 05:24:57 【问题描述】:

我正在尝试在 Digital Ocean 上的 Nginx 服务器上创建一个普通的 Lumen 应用程序。在official documentation for Laravel 之后,我按照所说的一切进行操作,直到 Laravel 安装位。

只是代替这个

composer create-project laravel/laravel /var/www/lumen/ 4.1

我用过

composer create-project --prefer-dist laravel/lumen blog` instead.

当我使用ls 时,Lumen 文档现在出现在目录中。

但是,当我点击 IP 地址或 IPAdress/index.php 时,它会显示

404 未找到 - nginx/1.4.6 (Ubuntu)


另外,这是我对虚拟主机文件 (nano /etc/nginx/sites-available/default) 的配置:

server 
        listen   80 default_server;

        root /var/www/laravel/public/;
        index index.php index.html index.htm;

        location / 
             try_files $uri $uri/ /index.php$is_args$args;
        

        # pass the PHP scripts to FastCGI server listening on /var/run/php5-fpm.sock
        location ~ \.php$ 
                try_files $uri /index.php =404;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        


我做错了什么或错过了什么?


另外,如果我尝试使用 PhpStorm 连接到 SSH 目录,我会收到一个错误:

ssh://root@46.101.172.134:22null /usr/bin/php
env: /var/www/Lumen: Permission denied

Process finished with exit code 126

请查看this question 以获取有关此错误的更多信息。


编辑 2:

我尝试将我的服务器更改为..

server 
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    listen 443 ssl;
    
    root /var/www/lumen/public;
    index index.php index.html index.htm;

    server_name IPAddress;
    ssl_certificate /etc/nginx/ssl/nginx.crt;    // I didn't set this
    ssl_certificate_key /etc/nginx/ssl/nginx.key;  //  and this

    location / 
        try_files $uri $uri/ /index.php?$query_string;
    

    location ~ \.php$ 
        try_files $uri /index.php =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    

【问题讨论】:

你为什么在路由中使用 index.php?如果您在浏览器中点击您的 IP 地址,您会得到 404。您的路线文件中是否还返回了任何内容。 我已经安装了 Lumen,所以它应该有 ipaddress/ 的路由。如果我点击 ip 地址,我会收到the 404 error 答案是更新 SSL 证书详细信息 【参考方案1】:

我使用this guide 在 nginx 上创建了 SSL 证书。然后,点击 http://ipaddress 会给我 Lumen/Laravel 的东西。

【讨论】:

以上是关于nginx rewire浏览器地址会变化么的主要内容,如果未能解决你的问题,请参考以下文章

通过浏览器访问 IP 地址时,在 nginx 上创建新的 Lumen 应用程序会抛出 404

公用一个ip地址cookie相同么?

nginx 初了解

sendRedirect()和forward()方法有什么区别?

Nginx负载均衡案例

如何在Windows上配置并运行Nginx