社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
私信  •  关注

Shawn C.

Shawn C. 最近创建的主题
Shawn C. 最近回复了
6 年前
回复了 Shawn C. 创建的主题 » 运行wordpress的nginx服务器上的https

下面是基本的想法。

server {        
  server_name mydomain.in www.mydomain.in;
  listen 80;

  location / {
    return 301 https://mydomain.in$request_uri;
  }
}

server {
  listen 443 ssl http2;

  ssl_certificate     /etc/letsencrypt/live/mydomain.in/fullchain.pem;
  ssl_certificate_key     /etc/letsencrypt/live/mydomain.in/privkey.pem;

  server_name mydomain.in  www.mydomain.in;

  access_log /var/log/nginx/mydomain.in.access.log rt_cache_redis;
  error_log /var/log/nginx/mydomain.in.error.log;

  root /var/www/mydomain.in/htdocs;
  index index.php index.html index.htm;

  include common/redis-php7.conf; 
  include common/wpcommon-php7.conf;
  include common/locations-php7.conf;
  include /var/www/mydomain.in/conf/nginx/*.conf;
}

顶端 server listen S在端口 80 (http)。它有一个 location 做一个 return 301号。 返回 优先于重写 most cases .我也把它放进 位置 因为你有一个 letsencrypt 可能需要另一个 location ^~ /.well-known { 阻止以帮助处理该问题。

第二次 服务器 S在端口 443 (https)。它有ssl证书,并包含以前作为http公开的信息。 服务器 封锁。

此安装程序将处理从 http 要么 mydomain.in www.mydomain.in https 我的域.in 是的。打开 https协议 二者都 我的域.in www.mydomain.in网站 将接收SSL请求。

如果您希望它重定向到主https域,可以像这样为辅助域添加另一个服务器块。

server {        
  server_name www.mydomain.in;
  listen 443 ssl http2;
  ssl_certificate     /etc/letsencrypt/live/mydomain.in/fullchain.pem;
  ssl_certificate_key     /etc/letsencrypt/live/mydomain.in/privkey.pem;

  location / {
    return 301 https://mydomain.in$request_uri;
  }
}

当然,这意味着你必须改变第二个 服务器 阻止删除辅助域名。

同时在测试时,您可能希望更改 301 S至 302 这样,如果您第一次错误地认为它不会卡在浏览器缓存中。当你把一切都恢复到良好状态后,再换回 301个 S.

6 年前
回复了 Shawn C. 创建的主题 » 哪种格式的nginx重写更有效?

基于 nginx 你应该使用一个定位块和一个 return 指令

https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/#taxing-rewrites

6 年前
回复了 Shawn C. 创建的主题 » 一个容器的多个nginx网站

我相信 nginx 在里面 docker 虚拟主机文件需要进入 /etc/nginx/conf.d /etc/nginx/sites-enabled

所以在你 docker-compose.yml 改变

./environment/nginx/sites-enabled:/etc/nginx/sites-enabled

./environment/nginx/sites-enabled:/etc/nginx/conf.d