nginx - 如何使用 NGINX 进行 DNS 映射
问题描述
我对 NGINX 真的很陌生。
目前,我的服务器中有一个容器化应用程序(PHP 应用程序);可以通过192.168.1.20:8080查看(ip地址只是一个例子)。该应用程序非常好。
但是,我希望我的应用能够通过“my-domain-name.com/my-app”查看。我能做到这一点吗?我已经搜索了解决方案,其中很多都在使用子域。
我还在 /etc/nginx/sites-available/my-app 下尝试了以下配置。但它们都不起作用。
server {
listen 80;
listen [::]:80;
server_name my-domain-name.com/my-app;
location / {
proxy_pass http://192.168.1.20:8080;
}
}
server {
root /var/www/html;
listen 80;
listen [::]:80;
server_name my-domain-name.com/my-app www.my-domain-name.com/my-app;
location / {
proxy_pass http://192.168.1.20:8080;
proxy_redirect off;
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-Host $server_name;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
解决方案
server_name
property 需要域名并且不支持子目录。
您可以在location
属性中指定路径:
server {
listen 80;
listen [::]:80;
server_name my-domain-name.com;
location /my-app {
proxy_pass http://192.168.1.20:8080;
}
}
(来源:nginx 文档)
推荐阅读
- python - 使用`pymysql`时如何修复`packets large than config size`错误
- windows - 如何在 Windows 终端(Powershell 核心)本身中查看当前配色方案?
- python - 机器学习回归的局限性?
- android - 为什么 .event.set("fieldName", ObjectValue) 不在 Google Calendar API android 中存储任何数据?
- c# - C# WPF XAML 小地图
- jquery - Vue.js 无法获取 jQuery select2 的值
- css - 小于容器时不要缩放图像
- php - symfony 控制台制造:控制器中止
- css - 如果满足条件,则更改行颜色
- mongodb - 如何保证mongo聚合查找中原始数组的顺序