Nginx 配置用户名密码访问
安装工具包
ubuntu 安装 apt-get install apache2-utils
centos 安装 yum -y install httpd-tools
生成密码
选择一个保存的文件夹 /usr/local/nginx/passwd
, 在该目录下执行 [[ sudo htpasswd -c ./deepin deepin]]
./deepin
未保存的文件名, 后一个 deepin 为输入的用户名
ubuntu@VM-0-2-ubuntu:/usr/local/nginx/passwd$ sudo htpasswd -c /usr/local/nginx/passwd/deepin deepin
New password:
Re-type new password:
Adding password for user deepin
加载密码到 nginx
vim /etc/nginx/nginx.conf
server {
listen 443 ssl;
server_name deepin.jansora.com;
root html;
index index.html index.htm;
auth_basic "请输入用户名和密码";
auth_basic_user_file /usr/local/nginx/passwd/deepin;
}
重新加载 nginx
sudo systemctl reload nginx
Nginx 配置重定向
// 方法1: nginx 官方说明:This is a wrong, cumbersome, and ineffective way (这是一种错误,麻烦,无效的方式!)
server {
listen 80;
server_name www.example.org example.org;
if ($http_host = example.org) {
rewrite (.*) http://www.example.org$1;
}
...
}
// 方法2:
// nginx 官方推荐
server {
listen 80;
server_name example.org;
return 301 http://www.example.org$request_uri;
}
nginx 部署多个 React 应用
其他 SPA 应用应该也可以
适用于 BrowerRouter 下的 React 应用
upstream app {
server 127.0.0.1:8083;
}
server {
listen 51002;
location /api {
proxy_pass http://app;
}
location /app1 {
alias /app/app1/dist;
try_files $uri /app1/index.html;
}
location /app2 {
alias /app/app2/dist;
try_files $uri /app2/index.html;
}
location / {
root /app/app/dist;
try_files $uri /index.html;
}
}