linux - 使用 Vagrant 虚拟机和 Nginx 设置测试环境

标签 linux ssl nginx vagrant webserver

我正在尝试在 centos/6 虚拟机上使用 Vagrant 设置本地 Web 测试环境

我在 vagrant 配置中设置:config.vm.network "forwarded_port", guest: 80, host: 8080

如果我在 vagrant box 里面输入:hostname -I 它会给我一个结果 10.0.2.15

In the vagrant box, nginx is already set and I do have a SSL certification and HTTPS connection set up:
server {
    listen       443;
    server_name 127.0.0.1:8000;
    ...(other configurations including ssl_certificate, 
    ssl_certificate_key,protocols and cipher)
    ...(other values that I think its not relevant)
    location / {
            if ($http_host != 127.0.0.1:8000) {
                return 444;
            }
    proxy_pass http://127.0.0.1:8000;
}

然后我有:

server {
    listen 80 default;
    server_name ~^;
    return 302 https://127.0.0.1:8000$request_uri;
}

在我的 vagrant box 中,如果我使用 curl 获取 127.0.0.1:8000 的内容:curl 127.0.0.1:8000,我能够成功得到预期的内容

在我的主机操作系统中,当我使用 chrome 请求访问 127.0.0.1 时,它只是说 The connection was reset. 并且错误异常代码是 ERR_CONNECTION_RESET

我最好的猜测是这必须处理我的 SSL 配置?

最佳答案

不确定这是否有帮助,我运行 vagrant 并使用 Virtualbox 作为我的管理程序。您需要检查 vagrant box 为 NAT 做了什么。在我的设备上,开箱即用的是 192.169.33.10,它将进入我的开发箱。假设端口转发设置正确且没有防火墙。

192.168.33.10:8080 有什么作用?

关于linux - 使用 Vagrant 虚拟机和 Nginx 设置测试环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46777558/

相关文章:

node.js - 将 Socket.io 对象存储在持久化数据库或 redis 中

docker - `docker-compose logs` 从哪里拉?

linux - 杀人之后的僵尸-A,B,C程序- parent 是谁?

c++ - Linux 中的段错误,在 Mac OS 上工作正常

c - 如何测量一小段 C/汇编代码的速度?

nginx - 如何在位置指令中提供单个文件?

java - 无法通过广播地址接收 UDP 数据包,ArtNet

Android Volley Https SSL 自签名和 Google Maps API

.net - HTTPWebRequest、SSL端点验证和

rest - 最简单的服务器到服务器身份验证