nginx proxy_pass 和 docker - 我不希望地址栏中显示端口号

nginx proxy_pass 和 docker - 我不希望地址栏中显示端口号

在 mywebsite.com 上,我运行了带有 wordpress 的 docker 容器。我将其启动为

docker run -p 8000:80 --name docker-wordpress-nginx -d 

docker ps

节目

0.0.0.0:8000->80/tcp

在我的主机上,我运行着 nginx

server {
     listen   80;
...
server_name mywebsite.com www.mywebsite.com;
...
location / {
             proxy_pass http://localhost:8000/;
             proxy_set_header Host $host;
    }

当我来这里的时候

mywebsite.com

它带来了我网站的 wordpress 主页,但浏览器中的地址现在是

mywebsite.com:8000

代替

mywebsite.com

这是我所期望的。一切看起来都如我所愿,只是我总是在地址中得到那个端口号

http://mywebsite.com:8000/2015/08/01/hello-world/

相反,我想要

http://mywebsite.com/2015/08/01/hello-world/

我的意思是,一般来说,

http://mywebsite.com:8000/some_blog/

我想

http://mywebsite.com/some_blog/

有任何想法吗?

答案1

您需要将 Wordpress 网站 URL 设置为您的网站。阅读更改网站 URL

解决方案之一是修改您的wp-config.php文件。添加/替换以下配置:

define('WP_HOME','http://mywebsite.com');
define('WP_SITEURL','http://mywebsite.com');

如果您在端口 80 上没有任何其他站点,您可以简单地将端口 80 暴露到 Wordpress 端口中。

相关内容