linux

Linux LNMP如何实现跨域访问

小樊
41
2025-11-28 08:08:09
栏目: 智能运维

在Linux环境下使用LNMP(Linux, Nginx, MySQL, PHP)实现跨域访问,通常需要配置Nginx来允许跨域请求。以下是详细的步骤:

1. 安装Nginx

如果你还没有安装Nginx,可以使用以下命令进行安装:

sudo apt update
sudo apt install nginx

2. 配置Nginx

编辑Nginx的配置文件,通常位于 /etc/nginx/nginx.conf/etc/nginx/sites-available/default。你可以创建一个新的配置文件或修改现有的配置文件。

示例配置

假设你的网站域名是 example.com,你可以在配置文件中添加以下内容:

server {
    listen 80;
    server_name example.com;

    location / {
        root /var/www/html;
        index index.php index.html index.htm;
    }

    location /api/ {
        if ($request_method = 'OPTIONS') {
            add_header 'Access-Control-Allow-Origin' '*';
            add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
            add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept';
            return 204;
        }

        add_header 'Access-Control-Allow-Origin' '*';
        add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
        add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept';

        proxy_pass http://backend_server; # 替换为你的后端服务器地址
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

3. 解释配置

4. 重启Nginx

保存配置文件后,重启Nginx以应用更改:

sudo systemctl restart nginx

5. 测试跨域访问

你可以使用浏览器开发者工具或Postman等工具来测试跨域请求是否成功。

示例请求

假设你的前端应用在 http://localhost:3000,你可以发送一个请求到 http://example.com/api/data 来测试跨域访问。

注意事项

通过以上步骤,你应该能够在Linux环境下使用LNMP实现跨域访问。

0
看了该问题的人还看了